使用单个Web爬网程序以预定义的格式使用附件来废弃多个网站?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用单个Web爬网程序以预定义的格式使用附件来废弃多个网站?相关的知识,希望对你有一定的参考价值。
我有一个大约的列表。 52个网站导致大约约。我需要抓取的150个网页。基于我的无知和缺乏研究,我开始为每个网页构建爬虫,这开始变得难以完成和维护。
根据我迄今为止的分析,我已经知道我想要在每个网页上搜索哪些信息,很明显这些网站都有自己的结构。从好的方面来看,我注意到每个网站的网页结构都有一些共性。我百万美元的问题,是否有一种技术或单个网络爬虫我可以用来刮掉这些网站?我已经知道我想要的信息,这些网站很少根据其网络结构进行更新,而且大多数网站都有需要下载的文档。
或者,是否有更好的解决方案可以减少我需要构建的网络爬虫数量?此外,这些网络抓取工具仅用于下载我瞄准的网站的新信息。
[...]我开始为每个网页构建爬虫,这开始变得难以完成和维护[...]显然这些网站有自己的结构。 [...]这些网站的网络结构很少更新[...]
如果网站具有不同的结构,拥有单独的蜘蛛是有意义的,并且应该使长期维护更容易。
你说完成新的蜘蛛(我认为你的意思是开发它们,而不是爬行或其他东西)变得越来越困难,但是如果它们与现有的蜘蛛类似,你可以简单地复制并粘贴最相似的现有蜘蛛,并且仅制作必要的变化。
对于不同的网站,使用单独的蜘蛛进行维护应该是最简单的。如果单个网站发生变化,您可以修复该网站的蜘蛛。如果您有多个网站的蜘蛛,并且只有其中一个更改,您需要确保修改后的网站的更改不会破坏其他网站,这可能是一场噩梦。
此外,由于您说网站结构不经常更改,因此维护通常不应该那么难。
如果您发现重复了很多代码,那么您可以将一些共享代码提取到蜘蛛中间件,下载中间件,扩展,项目加载器,甚至是由两个或更多蜘蛛共享的基本蜘蛛类。但我不会尝试使用单个Spider子类来抓取可能单独发展的多个不同网站。
我建议你抓住特定的标签,如body
,h1
,h2
,h3
,h4
,h5
,h6
,p
和...为每个链接。您可以收集所有p
标签并将其附加到特定链接。它可以用于您要抓取它们的每个标记。此外,您可以将标记的相关链接附加到数据库。
以上是关于使用单个Web爬网程序以预定义的格式使用附件来废弃多个网站?的主要内容,如果未能解决你的问题,请参考以下文章
javascript crawl.js用于构建CLI以使用web-crawljs文章对网页进行爬网
使用 Javascript 或 Web 表单的 Web 爬网站点
NodeJS+服务器端jQuery的Web爬网程序/Spider;-)