scrapy 多站点爬虫问题请教

2018-09-17 10:22:08 +08:00
 lixuda
目前需要:
有 1000+以上的网站需要爬,并且经常要增加减少。有部分网站是通用类型,直接通过摘要提取 html 内容,不用 xpath。部分需要自写 xpath 提取。不需要分布式。
抓取的只要标题,内容,图片。


对 scrapy 刚接触,网上搜索下,有以下方式:
1.自定义项目命令
2.process.crawl 方式
3.Scrapyd 方式

现在个人想法是
所有网站都用一个 scrapy 来做,通用 items,每一个网站写一个 spider 蜘蛛,通用的网站用一个 spider。

问题:
1.是否 scrapy 适应以上任务。
2.如果合适,怎么样的项目方案合适?同时要启动多个 spider,怎么样方式合理?
谢谢
2836 次点击
所在节点    Python
5 条回复
simonliu2018
2018-09-17 10:38:23 +08:00
>有 1000+以上的网站需要爬,并且经常要增加减少
把这些网址存在数据库里,定期重启 spider 来加载到 start requests 里

>有部分网站是通用类型,部分需要自写 xpath 提取
自定义几个 middleware 区分不同的业务;也可以写不同的 spider

>同时要启动多个 spider
我之前是写一个小工具来生成多个 spider 启动脚本,用 daemontools 管理这些脚本
raysmond
2018-09-17 12:16:22 +08:00
scrapy-redis 了解一下,spider 常驻了,start_urls 放在了 redis 里,需要抓取时塞进去
lixuda
2018-09-17 14:56:40 +08:00
@simonliu2018 好的,谢谢
chengxiao
2018-09-17 14:59:12 +08:00
@raysmond 要抓多个站点的话 或者多个 spider 的话, scrpy-redis 该怎么部署呢?
lixuda
2018-09-17 17:11:46 +08:00
@simonliu2018 感谢,另外通用型的网站 LinkExtractor 要增加,其他都是一样

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/489971

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX