Web scraping 从网站获取新闻的最佳方法?

Web scraping 从网站获取新闻的最佳方法?,web-scraping,html-parsing,Web Scraping,Html Parsing,我有一个功能,从网站上抓取所有最新的新闻(大约10条新闻,新闻的数量取决于该网站)。请注意,新闻是按时间顺序排列的 例如,昨天我得到了10条新闻并存储在数据库中。今天我收到10条新闻,但有3条是昨天没有的(7条新闻保持不变,3条是新的) 我目前的方法是提取每条新闻,直到找到一条旧新闻(7条新闻中的第一条),然后停止提取,只更新旧新闻的字段“lastUpdateDate”,并将新新闻添加到数据库中。我认为这种方法有些复杂,需要时间 实际上,我从20个具有相同内容结构的网站(Moodle)获取新闻,

我有一个功能,从网站上抓取所有最新的新闻(大约10条新闻,新闻的数量取决于该网站)。请注意,新闻是按时间顺序排列的

例如,昨天我得到了10条新闻并存储在数据库中。今天我收到10条新闻,但有3条是昨天没有的(7条新闻保持不变,3条是新的)

我目前的方法是提取每条新闻,直到找到一条旧新闻(7条新闻中的第一条),然后停止提取,只更新旧新闻的字段
“lastUpdateDate”
,并将新新闻添加到数据库中。我认为这种方法有些复杂,需要时间

实际上,我从20个具有相同内容结构的网站(
Moodle
)获取新闻,因此每个请求将持续大约2分钟,而我的免费主机不支持这一点


如果我删除所有新闻,然后从一开始就提取所有内容(这实际上会增加数据库中的大量ID号),是否更好?首先,检查网站是否有已发布的API。如果有,就用它

第二,检查网站的服务条款,其中可能明确禁止删除网站

第三,看看您选择的编程语言中的一个模块,它处理页面的获取和从页面中提取内容。在Perl中,可以从或开始


无论你做什么,都不要落入许多向StackOverflow发帖的人所落入的陷阱:获取网页,然后尝试自己解析内容,通常是使用正则表达式,而正则表达式对于这项工作来说是不合适的工具。浏览SO标签,查找那些试图使用自己的HTML解析系统而不是使用现有工具的人的悲伤故事。

如果您想向用户显示旧新闻,这取决于要求

对于抓取,您可以为cron作业创建一个自定义本地脚本,该脚本将从这些新闻网站抓取数据并存储到数据库中

您还可以检查主题是否已存在或不存在


最终制作一个自定义新闻块,它将显示所有数据库提要。

我只是想添加一个网站的条件条款,在涉及到网页抓取时并没有任何意义,只是基本上是一个警告,他们可能会试图阻止你,让你更难抓取。版权是你需要担心的问题,但是如果你正在删除任何公共知识或不声称它是你的创造性财产,这是公平的游戏,几乎所有的网络信息都可以合法删除(我的信息是基于最高法院判决的几起案件,我记不起名字了,我肯定有一个很好的维基页面)