2013-09-25 7 views
0

Мой вопрос похож на вопрос, заданный здесь: https://stackoverflow.com/questions/14599485/news-website-comment-analysis Я пытаюсь извлечь комментарии из любой статьи новостей. Например. У меня есть новостной url здесь: http://www.cnn.com/2013/09/24/politics/un-obama-foreign-policy/ Я пытаюсь использовать BeautifulSoup в python для извлечения комментариев. Однако кажется, что раздел комментариев встроен в iframe или загружен через javascript. Просмотр источника через firebug не показывает источник раздела комментариев. Но явно просматривается источник комментариев через функцию просмотра источника в браузере. Как сделать вывод комментариев, особенно когда комментарии поступают из другого URL-адреса, встроенного в веб-страницу новостей?Извлечение комментариев из статей новостей

Это то, что я делал до сих пор, хотя это не так много:

import urllib2 
    from bs4 import BeautifulSoup 

    opener = urllib2.build_opener() 


    url = ('http://www.cnn.com/2013/08/28/health/stem-cell-brain/index.html') 


urlContent = opener.open(url).read() 
soup = BeautifulSoup(urlContent) 
title = soup.title.text 

print title 
body = soup.findAll('body') 
outfile = open("brain.txt","w+") 
for i in body: 
    i=i.text.encode('ascii','ignore') 
    outfile.write(i +'\n') 

Любая помощь в том, что мне нужно сделать, или, как идти об этом будет оценена.

+0

Вам нужно попробовать что-то вроде селен эмулировать JavaScript возможности в браузере тоже. –

+0

@SnakesandCoffee вам не нужны js для конкретного случая. его просто iframe вы можете загрузить всю страницу. –

ответ

0

его внутри iframe. проверьте рамку с id="dsq2".

сейчас iframe имеет src attr, являющийся ссылкой на actual site, который имеет комментарии.

так в красивом супе: css_soup.select("#dsq2") и получить URL-адрес из атрибута src. это приведет вас к странице с комментариями.

получить фактические комментарии, после того, как вы получите страницу с СРКА вы можете использовать этот селектор CSS: .post-message p

и если вы хотите загрузить больше комментария, при нажатии на более комментарии кнопок это, кажется, отправка этого:

http://disqus.com/api/3.0/threads/listPostsThreaded?limit=50&thread=1660715220&forum=cnn&order=popular&cursor=2%3A0%3A0&api_key=E8Uh5l5fHZ6gD8U3KycjAIAk46f68Zw7C6eW8WSjZvCLXebZ7p0r1yrYDrLilk2F

Смежные вопросы