【发布时间】:2019-06-16 00:04:50
【问题描述】:
我需要收集一些 Facebook 分析未提供的信息。例如,在 Facebook 上作为链接帖子推广的文章的原始网址和标题。此信息隐藏在 Facebook 帖子的 html 代码中,但我很难将其挖掘出来。感谢您的帮助。
举个例子:https://www.facebook.com/bbcnews/posts/10156428513547217
我确定了链接的类 (bbc.in...):“_6ks” 和标题:'mbs _6m6 _2cnj _5s6c'
下面的代码没有返回任何东西:
from bs4 import BeautifulSoup
import requests
link = 'https://www.facebook.com/bbcnews/posts/10156428513547217'
r = requests.get(link)
soup = BeautifulSoup(r.content, "lxml")
for paragraph in soup.find_all("div", class_="_6ks"):
for a in paragraph("a"):
print(a.get('href'))
for paragraph in soup.find_all("div", class_='mbs _6m6 _2cnj _5s6c'):
for a in paragraph("a"):
print(a.get('hover'))
【问题讨论】:
-
注意:Facebook 的大部分内容本质上是动态的。 BeautifulSoup 是一个静态 HTML 解析器。我建议使用
selenium或Requests-HTML库来完全呈现HTML 内容。 -
感谢您的回答 - Bitto&robots。两种解决方案都可以完美运行。超级好用!接受第二个只是因为它很整洁。
标签: python-3.x web-scraping beautifulsoup html-parsing