用beautifulsoup4从天才网站上抓取评论

Posted

技术标签:

【中文标题】用beautifulsoup4从天才网站上抓取评论【英文标题】:Scraping comments from genius site with beautifulsoup4 【发布时间】:2022-01-18 21:55:32 【问题描述】:

我想问一下,在您看来,是否有可能用 beautifulsoup4 从genius.com 上抓取 cmets。 我在问这个问题,因为当我用 bs4 抓取页面时,我找不到 cmets 的部分,因为它们位于可扩展容器的后面。 如果我从浏览器中查看页面的 html,即使我没有点击“展开”按钮,我也可以看到 cmets,但是当使用 bs4 抓取时,我无法在 html 源代码中找到它们。

我该如何解决这个问题?有办法用bs4刮掉cmets吗?还是我应该使用硒? (我想避免使用 selenium,因为我必须抓取大量数据,而使用 selenium 可能会非常慢)。

【问题讨论】:

【参考方案1】:

页面很可能是 javascript 呈现的。你需要 Selenium。如果你不想使用 selenium,你可以将 driver.content 传递给 BeautifulSoup 方法。

这里是示例代码:

from selenium import webdriver

url = 'https://www.siteURL.com'

driver = webdriver.Chrome()
driver.get(url)
soup = BeautifulSoup(driver.page_source, 'html.parser') #or you can use lxml parser
driver.close()

【讨论】:

以上是关于用beautifulsoup4从天才网站上抓取评论的主要内容,如果未能解决你的问题,请参考以下文章

使用python和beautifulsoup4抓取网页后重复数据

使用 python 和 Beautifulsoup4 从抓取数据中写入和保存 CSV 文件

python3+beautifulSoup4.6抓取某网站小说基础功能设计

BeautifulSoup 4 - 网络抓取“今天”的足球比赛

BeautifulSoup4系列三

如何在 python 中使用 beautifulsoup4 来抓取标签中的内容