Python Scraping来自网站的fb评论

时间:2013-01-19 13:31:49

标签: python beautifulsoup

我一直在尝试使用以下网站页面上的Beautiful Soup来抓取Facebook评论。

import BeautifulSoup
import urllib2
import re

url = 'http://techcrunch.com/2012/05/15/facebook-lightbox/'

fd = urllib2.urlopen(url)

soup = BeautifulSoup.BeautifulSoup(fd)

fb_comment = soup("div", {"class":"postText"}).find(text=True)

print fb_comment

输出为空集。但是,我可以清楚地看到facebook评论是在techcrunch网站的inspect元素中的那些上面的标签内(我对Python很新,并且想知道这种方法是否正确以及我哪里出错了?)

3 个答案:

答案 0 :(得分:1)

像Christopher和Thiefmaster一样:这完全是因为javascript。

但是,如果您真的需要这些信息,您仍然可以通过http://seleniumhq.org上的Selenium检索它,然后在此输出中使用beautifulsoup。

答案 1 :(得分:0)

使用AJAX动态加载Facebook评论。您可以抓取原始页面以检索此内容:

<fb:comments href="http://techcrunch.com/2012/05/15/facebook-lightbox/" num_posts="25" width="630"></fb:comments>

之后,您需要向某个Facebook API发送请求,该API将为您提供该标记中URL的注释。

答案 2 :(得分:0)

您要查找的页面部分未包含在源文件中。使用浏览器,您可以通过打开页面源来自行查看。

在将文档传递给BeautifulSoup之前,您需要使用类似pywebkitgtk的内容来执行javascript