使用单个Web爬网程序以预定义的格式使用附件来废弃多个网站?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用单个Web爬网程序以预定义的格式使用附件来废弃多个网站?相关的知识,希望对你有一定的参考价值。

我有一个大约的列表。 52个网站导致大约约。我需要抓取的150个网页。基于我的无知和缺乏研究,我开始为每个网页构建爬虫,这开始变得难以完成和维护。

根据我迄今为止的分析,我已经知道我想要在每个网页上搜索哪些信息,很明显这些网站都有自己的结构。从好的方面来看,我注意到每个网站的网页结构都有一些共性。我百万美元的问题,是否有一种技术或单个网络爬虫我可以用来刮掉这些网站?我已经知道我想要的信息,这些网站很少根据其网络结构进行更新,而且大多数网站都有需要下载的文档。

或者,是否有更好的解决方案可以减少我需要构建的网络爬虫数量?此外,这些网络抓取工具仅用于下载我瞄准的网站的新信息。

答案

[...]我开始为每个网页构建爬虫,这开始变得难以完成和维护[...]显然这些网站有自己的结构。 [...]这些网站的网络结构很少更新[...]

如果网站具有不同的结构,拥有单独的蜘蛛是有意义的,并且应该使长期维护更容易。

你说完成新的蜘蛛(我认为你的意思是开发它们,而不是爬行或其他东西)变得越来越困难,但是如果它们与现有的蜘蛛类似,你可以简单地复制并粘贴最相似的现有蜘蛛,并且仅制作必要的变化。

对于不同的网站,使用单独的蜘蛛进行维护应该是最简单的。如果单个网站发生变化,您可以修复该网站的蜘蛛。如果您有多个网站的蜘蛛,并且只有其中一个更改,您需要确保修改后的网站的更改不会破坏其他网站,这可能是一场噩梦。

此外,由于您说网站结构不经常更改,因此维护通常不应该那么难。

如果您发现重复了很多代码,那么您可以将一些共享代码提取到蜘蛛中间件,下载中间件,扩展,项目加载器,甚至是由两个或更多蜘蛛共享的基本蜘蛛类。但我不会尝试使用单个Spider子类来抓取可能单独发展的多个不同网站。

另一答案

我建议你抓住特定的标签,如bodyh1h2h3h4h5h6p和...为每个链接。您可以收集所有p标签并将其附加到特定链接。它可以用于您要抓取它们的每个标记。此外,您可以将标记的相关链接附加到数据库。

以上是关于使用单个Web爬网程序以预定义的格式使用附件来废弃多个网站?的主要内容,如果未能解决你的问题,请参考以下文章

javascript crawl.js用于构建CLI以使用web-crawljs文章对网页进行爬网

使用 Javascript 或 Web 表单的 Web 爬网站点

NodeJS+服务器端jQuery的Web爬网程序/Spider;-)

python MongoDB支持的宽度优先的Web爬网程序框架。

优化/自定义 Sharepoint 搜索爬网

使用Web Scraper 插件,不需要编程,也能爬网