首页 > 解决方案 > 抓取新网页内容的最快方法

问题描述

对于具有新闻文章列表的给定网页,我想尽快抓取新发布文章的内容,因为时间对于这项任务至关重要。

到目前为止,我使用requestsBeautifulSoup库从新闻网页中抓取内容。这使得在大约一到两秒内抓取一篇新的新闻文章成为可能。在论坛中,我经常发现做一个网页请求只需要一定的时间,这是一个无法改善的瓶颈。但也许有人有一个好主意......

我如何抓取新新闻文章的通用示例代码如下所示:

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

有谁知道如何更快地抓取新的网页内容?理想情况下,这将花费不到一秒钟的时间。

标签: pythonhtmlweb-scraping

解决方案


你说你在寻找新发表的文章,我认为没有媒体网站每分钟发布一篇文章。因此,您可以缓存结果并可能每隔一小时更新一次。

因此,假设您在客户端-服务器请求的运行时抓取该内容,将会有一个请求每隔一小时需要 1-2 秒,否则,您将从缓存中获取数据。

如果您在后台使用计划的作业,或者每 1 小时运行一次脚本并将结果存储在数据库中或您可以如此快速地从中获取数据的东西中,则可以使其更加优化。


推荐阅读