【发布时间】:2021-11-01 01:12:33
【问题描述】:
对于包含新闻文章列表的给定网页,我想尽快抓取新发布文章的内容,因为时间对于这项任务至关重要。
到目前为止,我使用 requests 和 BeautifulSoup 库从新闻网页中抓取内容。这使得在大约一到两秒内抓取一篇新的新闻文章成为可能。在论坛中,我经常发现做一个网页请求只需要一定的时间,这是一个无法改善的瓶颈。但也许有人有个好主意……
我如何抓取新新闻文章的通用示例代码如下所示:
page = requests.get(webpage)
old_content = BeautifulSoup(page.content, "html.parser") # The latest article was scraped to have a comparison variable
while new_content == content:
page = requests.get(webpage)
new_content = BeautifulSoup(page.content, "html.parser")
# Code that uses new_content, if new_content =! old_content
有人知道如何更快地抓取新的网页内容吗?理想情况下,这将花费不到一秒钟的时间。
【问题讨论】:
-
会不会是网络瓶颈,而不是代码瓶颈?如果它是互联网瓶颈,除了使用以太网或优化代码,通过请求更少的网页或其他方式之外,您无能为力。
-
动态内容必须从某处加载。找出它在哪里,让你的脚本直接检索它,而不是从页面上抓取它。无论哪种方式,请记住,当您通过快速、重复地请求内容来滥用它们时,网站通常不喜欢它。
标签: python html web-scraping