在用 scrapy 写爬虫的时候,想爬 1 万条,实际只爬了 1000 条,如何解决 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
Colorful
V2EX    Python

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

  •  1
     
  •   Colorful 2020-03-12 10:00:50 +08:00 5280 次点击
    这是一个创建于 2090 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    用的是 mongo 数据库

    ITEM_PIPELINES 设的是 300

    29 条回复    2020-05-19 17:40:55 +08:00
    bnm965321
        1
    bnm965321  
       2020-03-12 10:05:25 +08:00
    看下停下来的原因是为什么
    bnm965321
        2
    bnm965321  
       2020-03-12 10:05:58 +08:00
    ITEM_PIPELINE 我记得是设置 优先级 的,就是这个 PIPELINE 优先被使用
    python30
        3
    python30  
       2020-03-12 10:16:12 +08:00
    是规则漏掉了那 9000
    还是其它什么原因。
    先少采点。
    采 100 条看看能实际采多少。
    这样分析就好办些了
    Colorful
        4
    Colorful  
    OP
       2020-03-12 10:26:24 +08:00
    @bnm965321 个人是比较菜的那种,不知道怎么看原因
    Colorful
        5
    Colorful  
    OP
       2020-03-12 10:26:43 +08:00
    @python30 采集 100-300 条数据是没问题的
    Colorful
        6
    Colorful  
    OP
       2020-03-12 10:27:09 +08:00
    @bnm965321 这个我不太理解
    U7Q5tLAex2FI0o0g
        7
    U7Q5tLAex2FI0o0g  
       2020-03-12 10:30:45 +08:00
    啥都别说,帖代码
    bnm965321
        8
    bnm965321  
       2020-03-12 10:36:30 +08:00
    @Colorful 看日志到第几页停下来的,看日志是不是列表页每个详情页都进去过
    IanPeverell
        9
    IanPeverell  
       2020-03-12 10:46:09 +08:00
    可以把每一次请求都打一个日志出来,看是到哪个断掉的。再看看有没有报错信息,是不是写数据过程出问题了,或者连接超时了,实在不行就写多个爬虫来处理,每个爬虫只请求 1000 个。
    sadfQED2
        10
    sadfQED2  
       2020-03-12 10:56:56 +08:00
    少量能抓到,大量抓不到,目测,你 ip 被封了
    MilkShake
        11
    MilkShake  
       2020-03-12 11:05:33 +08:00
    要不是代码,要不就是被检测到了。
    Colorful
        12
    Colorful  
    OP
       2020-03-12 11:18:01 +08:00
    @IanPeverell 怎么打印日志啊?
    IanPeverell
        13
    IanPeverell  
       2020-03-12 11:27:30 +08:00
    @Colorful scrapy.Spider 自带 logger,直接 self.logger.info()就可以。也有可能是请求过于频繁,可以在 settings 里面加上 AUTOTHROTTLE 的配置
    vindurriel
        14
    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 )
    luckyc
        15
    luckyc  
       2020-03-12 12:27:31 +08:00   1
    我去, 这问题问的, 我都想骂人. BLOCK 带走.
    vcode
        16
    vcode  
       2020-03-12 12:34:56 +08:00
    简单,可以先用排除法,我们请楼下来排除一下
    jugelizi
        17
    jugelizi  
       2020-03-12 12:40:45 +08:00 via iPhone
    论提问的技巧
    Colorful
        18
    Colorful  
    OP
       2020-03-12 12:46:05 +08:00
    @vindurriel 涨知识了,感谢
    Colorful
        19
    Colorful  
    OP
       2020-03-12 12:46:29 +08:00
    @IanPeverell 懂了,谢谢
    lc7029
        20
    lc7029  
       2020-03-12 13:51:13 +08:00
    运行十次就好了
    Colorful
        21
    Colorful  
    OP
       2020-03-12 13:58:09 +08:00
    @lc7029 假如说 10 万条数据,那不是得运行 100 次?
    IGJacklove
        22
    IGJacklove  
       2020-03-12 14:28:11 +08:00
    爬虫违法吗?。。。现在在爬其他公司得视频信息。。。这个会不会出问题?
    xingshu1990
        23
    xingshu1990  
       2020-03-12 14:46:30 +08:00
    大概率是 IP 封了:建议能保证完全适配抓取的前提下,接入阿布云等 daili。
    no1xsyzy
        24
    no1xsyzy  
       2020-03-12 15:30:26 +08:00
    因为楼主描述太不清楚,导致我的老二被卡在电风扇里了
    somewhereinmars
        25
    somewhereinmars  
       2020-03-12 17:14:35 +08:00
    用 puppyteer 吧,属于前端模拟爬虫,更加容易突破,支持 js、python 各种扩展
    WoStaring
        26
    WoStaring  
       2020-03-12 17:16:28 +08:00
    再爬 9000 条
    chanywn1
        27
    chanywn1  
       2020-03-12 17:17:41 +08:00
    很简单,再爬 9 万条就可以了
    Elio
        28
    Elio  
       2020-03-13 10:01:02 +08:00
    这问题不问问你自己可惜了
    Skyline57
        29
    Skyline57  
       2020-05-19 17:40:55 +08:00
    @IGJacklove 绕过对方网站反爬手段就算违法,这得看对方发没发现,追不追究。当时用 selenium 那些模仿人浏览网站的行为好像不违法
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1099 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 17:57 PVG 01:57 LAX 09:57 JFK 12:57
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86