在用 scrapy 写爬虫的时候,想爬 1 万条,实际只爬了 1000 条,如何解决

2020-03-12 10:00:50 +08:00
 Colorful

想问下,这个问题如何解决啊?

用的是 mongo 数据库

ITEM_PIPELINES 设的是 300

4634 次点击
所在节点    Python
29 条回复
bnm965321
2020-03-12 10:05:25 +08:00
看下停下来的原因是为什么
bnm965321
2020-03-12 10:05:58 +08:00
ITEM_PIPELINE 我记得是设置 优先级 的,就是这个 PIPELINE 优先被使用
python30
2020-03-12 10:16:12 +08:00
是规则漏掉了那 9000
还是其它什么原因。
先少采点。
采 100 条看看能实际采多少。
这样分析就好办些了
Colorful
2020-03-12 10:26:24 +08:00
@bnm965321 个人是比较菜的那种,不知道怎么看原因
Colorful
2020-03-12 10:26:43 +08:00
@python30 采集 100-300 条数据是没问题的
Colorful
2020-03-12 10:27:09 +08:00
@bnm965321 这个我不太理解
littleylv
2020-03-12 10:30:45 +08:00
啥都别说,帖代码
bnm965321
2020-03-12 10:36:30 +08:00
@Colorful 看日志到第几页停下来的,看日志是不是列表页每个详情页都进去过
IanPeverell
2020-03-12 10:46:09 +08:00
可以把每一次请求都打一个日志出来,看是到哪个断掉的。再看看有没有报错信息,是不是写数据过程出问题了,或者连接超时了,实在不行就写多个爬虫来处理,每个爬虫只请求 1000 个。
sadfQED2
2020-03-12 10:56:56 +08:00
少量能抓到,大量抓不到,目测,你 ip 被封了
aaa5838769
2020-03-12 11:05:33 +08:00
要不是代码,要不就是被检测到了。
Colorful
2020-03-12 11:18:01 +08:00
@IanPeverell 怎么打印日志啊?
IanPeverell
2020-03-12 11:27:30 +08:00
@Colorful scrapy.Spider 自带 logger,直接 self.logger.info()就可以。也有可能是请求过于频繁,可以在 settings 里面加上 AUTOTHROTTLE 的配置
vindurriel
2020-03-12 11:39:54 +08:00
感觉这个很适合做面试题啊
q: Scrapy 爬虫的停止条件是 10k urls, 为什么爬到 1k 就退出了? db 用 mongo
a: 我不可能知道 (只有这么点信息就能给出答案的就不用继续面了)
q: 那我换一个问题 掌握哪些信息有助于知道呢?
a: 你的输入条件(网站拓扑、配置详情、反爬规则),处理过程(代码、日志、系统事件),输出结果( 1k 的 urls 和剩下 9k 的异同)
q: 这些信息的价值有没有主次之分?如果只能知道其中三个 你会选啥?
a: 日志 配置 反爬规则
q: 如果怀疑是被反爬规则 ban 掉了 如何验证或绕过?
a: 换 ip,降频率,分批爬
q: 如果让你写爬虫 如何设计日志 /接口 /配置项目 让使用者能更快地定位问题?
a: ...(开始 freestyle )
l4ever
2020-03-12 12:27:31 +08:00
我去, 这问题问的, 我都想骂人. BLOCK 带走.
vcode
2020-03-12 12:34:56 +08:00
简单,可以先用排除法,我们请楼下来排除一下
jugelizi
2020-03-12 12:40:45 +08:00
论提问的技巧
Colorful
2020-03-12 12:46:05 +08:00
@vindurriel 涨知识了,感谢
Colorful
2020-03-12 12:46:29 +08:00
@IanPeverell 懂了,谢谢
lc7029
2020-03-12 13:51:13 +08:00
运行十次就好了

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

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

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

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

© 2021 V2EX