Я занимаюсь исследованием обработки новостных текстов в Интернете.Итак, я пишу программу для получения и хранения новостей в БД по новостному URL.
Например, это случайный новостной URL (испанский новостной сайт).Итак, я использую BeautifulSoup
для получения HTML-контента, и после небольшого простого процесса у меня есть заголовок, сводка, контент, категория и другая информация о новостях.
Но, как выможно увидеть в новостях, которые я использовал в этом примере, есть также некоторая информация о «социальных сетях» (правая сторона изображения новостей):
- количество рекомендаций (facebook)
- количество твитов (твиттер)
- количество +1 (гугл +)
Я бы тоже хотел получить эту информацию, поэтому я попытался обработать HTML-контент из этой части, но этоне там!Это то, что я сделал:
>>> import urllib
>>> from BeautifulSoup import BeautifulSoup as Soup
>>> news = urllib.urlopen('http://elcomercio.pe/mundo/1396187/noticia-horror-eeuu-cinco-ninos-muertos-deja-tiroteo-escuela-religiosa')
>>> soup = Soup(news.read())
>>> sociales = soup.findAll('ul', {'class': 'sociales'})[0].findAll('li')
>>> len(sociales)
3
Это HTML-содержание части Facebook:
>>> sociales[0] # facebook
<li class="top">
<div class="fb-plg">
<div id="fb-root"></div>
<script>(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) {return;}
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/all.js#xfbml=1&appId=224939367568467";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
<div class="fb-like" data-href="http://elcomercio.pe/noticia/1396187/horror-eeuu-cinco-ninos-muertos-deja-tiroteo-escuela-religiosa" data-send="false" data-layout="box_count" data-width="70" data-show-faces="false" data-action="recommend"></div></div></li>
Часть Twitter:
>>> sociales[1] # twitter
<li><a href="https://twitter.com/share" class="twitter-share-button" data-count="vertical" data-via="elcomercio" data-lang="es">Tweet</a><script type="text/javascript" src="//platform.twitter.com/widgets.js"></script></li>
Google + часть:
>>> sociales[2] # google+
<li><script type="text/javascript" src="https://apis.google.com/js/plusone.js">
{lang: 'es'}
</script><g:plusone size="tall"></g:plusone></li>
Как вы видите, информация, которую я ищу, не включена в контент HTML, я полагаю, она получается по этим ссылкам с помощью своего рода API.
Итак, мой вопрос: могу ли я в любом случае получить информацию, которую я ищу (количество рекомендаций на Facebook, количество твитов, количество +1) из содержимого HTML определенной новости?