jeudi 6 octobre 2011

les donnees


Nous avons affaire à des données semi-structurés - ce qui doit simplifier la tâche de nettoyage. 



Examinons en plus de détail la forme, en prenant quelques exemples tirés du twitter de la chanteuse anglaise Lily Allen.


La forme d'un tweet le plus simple sera simplement du texte, avec, éventuellement, un hashtag.




  • <div class="tweet-text js-tweet-text">Just worked out that I've watched 10.5 full days of ER over the past 6 weeks. <a href="/#!/search?q=%23gross" title="#gross" class=" twitter-hashtag pretty-link" rel="nofollow"><s class="hash">#</s><b>gross</b></a></div>




En fait, le code entier pour un tweet sera :

<div class="js-stream-item stream-item" data-item-id="121529889751973888" data-item-type="tweet" media="true">
    <div class="more">»</div>
<div class="stream-item-content tweet js-actionable-tweet js-stream-tweet stream-tweet  " data-is-reply-to="false" data-tweet-id="121529889751973888" data-item-id="121529889751973888" data-screen-name="MrsLRCooper" data-user-id="16998020">
  <div class="tweet-dogear"></div>
  <div class="tweet-image">
      <img height="48" width="48" src="http://a0.twimg.com/profile_images/1101333870/lily_allen_420-420x0_normal.jpg" alt="lilyrosecooper" class="user-profile-link" data-user-id="16998020">
  </div>
  <div class="tweet-content">
    <div class="tweet-row">
              <span class="tweet-user-name">
  <a class="tweet-screen-name user-profile-link" data-user-id="16998020" href="/#!/MrsLRCooper" title="lilyrosecooper">MrsLRCooper</a>
  <span class="tweet-full-name">lilyrosecooper</span>
  </span>
      <div class="tweet-corner">
        <div class="tweet-meta">
  <span class="icons">
                  <div class="extra-icons">
              <span class="inlinemedia-icons js-icon-container"></span>
        </div>
  </span>
</div>
      </div>
    </div>
    <div class="tweet-row">
      <div class="tweet-text js-tweet-text">Just worked out that I've watched 10.5 full days of ER over the past 6 weeks. <a href="/#!/search?q=%23gross" title="#gross" class="  twitter-hashtag pretty-link" rel="nofollow"><s class="hash">#</s><b>gross</b></a></div>
    </div>
          <div class="tweet-row">
        <a href="/#!/MrsLRCooper/status/121529889751973888" class="tweet-timestamp" title="12:19 PM Oct 5th"><span class="_old-timestamp" data-time="1317809958000" data-long-form="true">5 Oct</span></a>
        <span class="tweet-actions js-actions" data-tweet-id="121529889751973888">
  </span>
      </div>
          </div>
</div>
  
</div>



Mais pour l'instant nous pouvons regarder simplement le <div class="tweet-text js-tweet-text"> , qui contient le texte.




Nous avons aussi des tweets avec une référence "@" :

  • <div class="tweet-text js-tweet-text"><a class=" twitter-atreply pretty-link" data-screen-name="eddychemical" href="/#!/eddychemical" rel="nofollow"><s>@</s><b>eddychemical</b></a> LOLZ !!!!!!!!!</div>
Enfin, le codeage de "@" en soi n'est pas plus compliqué que pour les hashtags.


Des liens liens hyper-textes - pareil :


  • <div class="tweet-text js-tweet-text">Heey check this out, it's <a class="  twitter-atreply pretty-link" data-screen-name="Charliecondou" href="/#!/Charliecondou" rel="nofollow"><s>@</s><b>Charliecondou</b></a> <a href="http://t.co/jQBQmqz1" data-expanded-url="http://www.guardian.co.uk/lifeandstyle/2011/oct/01/coronation-street-charlie-condou-gay-dad?INTCMP=SRCH" title="http://www.guardian.co.uk/lifeandstyle/2011/oct/01/coronation-street-charlie-condou-gay-dad/?INTCMP=SRCH" target="_blank" rel="nofollow" class="twitter-timeline-link" data-ultimate-url="http://www.guardian.co.uk/lifeandstyle/2011/oct/01/coronation-street-charlie-condou-gay-dad/?INTCMP=SRCH">guardian.co.uk/lifeandstyle/2…</a></div>


La seule chose qui diffère beaucoup des ces exemples est les re-tweets :




(Mais je re-edit ce poste plus tard, et, suite à la perte de mon ordinateur, je n'ai plus le code pour ce tweet)


Néanmoins, tout ça, c'est en partant du code html du page web (qui pourrait être obtenu par une méthode assez manuelle). L'autre possibilité c'est de se plonger dans l'api...

Aucun commentaire:

Enregistrer un commentaire