0

所以我正在尝试使用 BeautifulSoup 解析公共 facebook 页面。我已经成功地抓取了 LinkedIn,但我花了几个小时试图让它在 facebook 上运行,但没有运气。我尝试使用的代码如下所示:

for urls in my_urls:
try:
    page = urllib2.urlopen(urls)
    soup = BeautifulSoup(page)
    info = soup.find_all("div", class_="fsl fwb fcb")
    info2 = info.findall('a')

令我沮丧的部分是我可以取出标题元素,我什至可以深入到文档中,但我无法到达我需要的部分。

此行成功抓取了 pageTitle:

info = soup.find_all("title", attrs={"id": "pageTitle"})

这条线可以在元素列表中走得很远,但不能走得更远。

info = soup.find_all(id="pagelet_timeline_main_column")

这是我正在尝试解析的示例页面,我想从中获取当前城市:

https://www.facebook.com/100004210542493

这是我想要的部分的快速截图:

http://prntscr.com/1t8xx6

我觉得我真的很接近,但我就是想不通。提前感谢您的帮助!

编辑2:我还应该提到我可以成功打印整个汤并在视觉上找到我需要的部分,但无论出于何种原因,解析都无法正常工作。

4

1 回答 1

2

尝试使用 curl 或 wget 查看返回的内容。您在浏览器中看到的是执行 javascripts 后呈现的内容。

wget https://www.facebook.com/100004210542493

您可能想要使用 memchanize 或 selenium,因为您想要模拟客户端浏览器(而不是处理原始内容)。

与之相关的另一个问题可能是Beautiful Soup 找不到 CSS 类,如果对象也有其他类

于 2013-09-24T20:58:33.667 回答