首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python 学习手册
Python Cookbook
Python 基础教程
Python Sites
PyPI - Python Package Index
http://www.simple-is-better.com/
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
OPPO Watch
Colorful
V2EX  ›  Python

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

  •  1
     
  •   Colorful · 75 天前 · 2879 次点击
    这是一个创建于 75 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    用的是 mongo 数据库

    ITEM_PIPELINES 设的是 300

    29 条回复    2020-05-19 17:40:55 +08:00
    bnm965321
        1
    bnm965321   75 天前
    看下停下来的原因是为什么
    bnm965321
        2
    bnm965321   75 天前
    ITEM_PIPELINE 我记得是设置 优先级 的,就是这个 PIPELINE 优先被使用
    python30
        3
    python30   75 天前
    是规则漏掉了那 9000
    还是其它什么原因。
    先少采点。
    采 100 条看看能实际采多少。
    这样分析就好办些了
    Colorful
        4
    Colorful   75 天前
    @bnm965321 个人是比较菜的那种,不知道怎么看原因
    Colorful
        5
    Colorful   75 天前
    @python30 采集 100-300 条数据是没问题的
    Colorful
        6
    Colorful   75 天前
    @bnm965321 这个我不太理解
    littleylv
        7
    littleylv   75 天前
    啥都别说,帖代码
    bnm965321
        8
    bnm965321   75 天前
    @Colorful 看日志到第几页停下来的,看日志是不是列表页每个详情页都进去过
    IanPeverell
        9
    IanPeverell   75 天前
    可以把每一次请求都打一个日志出来,看是到哪个断掉的。再看看有没有报错信息,是不是写数据过程出问题了,或者连接超时了,实在不行就写多个爬虫来处理,每个爬虫只请求 1000 个。
    sadfQED2
        10
    sadfQED2   75 天前
    少量能抓到,大量抓不到,目测,你 ip 被封了
    aaa5838769
        11
    aaa5838769   75 天前
    要不是代码,要不就是被检测到了。
    Colorful
        12
    Colorful   75 天前
    @IanPeverell 怎么打印日志啊?
    IanPeverell
        13
    IanPeverell   75 天前
    @Colorful scrapy.Spider 自带 logger,直接 self.logger.info()就可以。也有可能是请求过于频繁,可以在 settings 里面加上 AUTOTHROTTLE 的配置
    vindurriel
        14
    vindurriel   75 天前
    感觉这个很适合做面试题啊
    q: Scrapy 爬虫的停止条件是 10k urls, 为什么爬到 1k 就退出了? db 用 mongo
    a: 我不可能知道 (只有这么点信息就能给出答案的就不用继续面了)
    q: 那我换一个问题 掌握哪些信息有助于知道呢?
    a: 你的输入条件(网站拓扑、配置详情、反爬规则),处理过程(代码、日志、系统事件),输出结果( 1k 的 urls 和剩下 9k 的异同)
    q: 这些信息的价值有没有主次之分?如果只能知道其中三个 你会选啥?
    a: 日志 配置 反爬规则
    q: 如果怀疑是被反爬规则 ban 掉了 如何验证或绕过?
    a: 换 ip,降频率,分批爬
    q: 如果让你写爬虫 如何设计日志 /接口 /配置项目 让使用者能更快地定位问题?
    a: ...(开始 freestyle )
    l4ever
        15
    l4ever   75 天前   ❤️ 1
    我去, 这问题问的, 我都想骂人. BLOCK 带走.
    vcode
        16
    vcode   75 天前
    简单,可以先用排除法,我们请楼下来排除一下
    jugelizi
        17
    jugelizi   75 天前 via iPhone
    论提问的技巧
    Colorful
        18
    Colorful   75 天前
    @vindurriel 涨知识了,感谢
    Colorful
        19
    Colorful   75 天前
    @IanPeverell 懂了,谢谢
    lc7029
        20
    lc7029   75 天前
    运行十次就好了
    Colorful
        21
    Colorful   75 天前
    @lc7029 假如说 10 万条数据,那不是得运行 100 次?
    IGJacklove
        22
    IGJacklove   75 天前
    爬虫违法吗?。。。现在在爬其他公司得视频信息。。。这个会不会出问题?
    xingshu1990
        23
    xingshu1990   75 天前
    大概率是 IP 封了:建议能保证完全适配抓取的前提下,接入阿布云等 daili。
    no1xsyzy
        24
    no1xsyzy   75 天前
    因为楼主描述太不清楚,导致我的老二被卡在电风扇里了
    somewhereinmars
        25
    somewhereinmars   75 天前
    用 puppyteer 吧,属于前端模拟爬虫,更加容易突破,支持 js、python 各种扩展
    WoStaring
        26
    WoStaring   75 天前
    再爬 9000 条
    chanywn1
        27
    chanywn1   75 天前
    很简单,再爬 9 万条就可以了
    Elio
        28
    Elio   74 天前
    这问题不问问你自己可惜了
    Skyline57
        29
    Skyline57   7 天前
    @IGJacklove 绕过对方网站反爬手段就算违法,这得看对方发没发现,追不追究。当时用 selenium 那些模仿人浏览网站的行为好像不违法
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3702 人在线   最高记录 5168   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 10:51 · PVG 18:51 · LAX 03:51 · JFK 06:51
    ♥ Do have faith in what you're doing.