我想从一个网站检索文章和其他内容。我得到了爬虫的想法,并假设我可以打开远处的页面并根据一些正则表达式获取文本部分。我想知道的是,我如何不仅可以搜索单个页面(或分页),还可以搜索整个网站,而不必为每个元素一个一个地运行爬虫,并且在此过程中不会忘记任何现有的 url。
请注意,我不需要它是干净的,因为它是一次性的。与我签订合同的网络代理想向我收取巨额费用以转储我自己的数据库,但没有办法解决,所以我必须找到一个快速的解决方法。你能引导我完成这个以便让我开始吗?
谢谢你。
我想从一个网站检索文章和其他内容。我得到了爬虫的想法,并假设我可以打开远处的页面并根据一些正则表达式获取文本部分。我想知道的是,我如何不仅可以搜索单个页面(或分页),还可以搜索整个网站,而不必为每个元素一个一个地运行爬虫,并且在此过程中不会忘记任何现有的 url。
请注意,我不需要它是干净的,因为它是一次性的。与我签订合同的网络代理想向我收取巨额费用以转储我自己的数据库,但没有办法解决,所以我必须找到一个快速的解决方法。你能引导我完成这个以便让我开始吗?
谢谢你。
如果不逐个站点获取所有链接,就不可能不这样做。即使在使用一些第三方脚本时,它们也总是必须发送至少尽可能多的 http 请求。
最简单的方法是使用带有 -r 参数的 wget,它将下载整个站点,然后在下载的文件中搜索给定的正则表达式。
您可以通过站点地图确定他们网站上的页面,但这不是最可靠的解决方案,因为页面可能不在他们的站点地图上。IMO 最好的方法是使用递归函数来收集数据,从主页开始,在检索到的数据上使用正则表达式查找所有特定于站点的链接,直到您爬取了尽可能多的链接。这样会产生蜘蛛网效应,拉取大量数据。
我们目前有一个类似的实现,可以从一个糟糕的 API 系统中获取大约 5,000 页数据。