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

问题描述 投票:0回答:2

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

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

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

python scrapy web-crawler
2个回答
0
投票

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

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

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

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

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

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


0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.