V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
推荐学习书目
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
XxxxD
V2EX  ›  Python

Python 多线程爬取微博,写入 Mongodb 数量对不上

  •  
  •   XxxxD · Mar 4, 2019 · 2595 views
    This topic created in 2610 days ago, the information mentioned may be changed or developed.

    迫于 sf 没人看,所以到这里来,具体

    截图

    链接: https://segmentfault.com/q/1010000018385188

    主要是想间隔性的爬取防止被 Ban,例如这个人的微博量很多,例如有 300 多页,我就想着多进程一次请求 9 个页面,然后赞停几秒,然后继续一次请求 9 个页面,循环直到请求完是我思路哪里不对么? 在线等,挺急的

    if __name__ == '__main__':
    	p = Pool(9)
    	x = 1
    	y = 10
    	while y <= 30:
    		for i  in range(x,y):
    			p.apply_async(getPage, args = (i,))
    		print('9 page done!')
    		time.sleep(random.randint(3,5)+random.random())
    		x += 10
    		y += 10
    	p.close()
    	p.join()
    	print('Done!')
    
    6 replies    2019-03-06 08:20:38 +08:00
    wzwwzw
        1
    wzwwzw  
       Mar 4, 2019
    微博的数据好像有保护。你检查一下 25 页之后是不是正常的访问。
    simple2025
        2
    simple2025  
       Mar 4, 2019 via Android
    第 10 页,20 页的数据请求不到的吧,如果我没有理解错你的代码
    zh826256645
        3
    zh826256645  
       Mar 5, 2019
    如果你不确定你爬取的接口有没有做什么特殊的处理,建议先别使用多线程(协程)进行爬取,测试一次爬取的数据对不对得上
    XxxxD
        4
    XxxxD  
    OP
       Mar 5, 2019
    @zh826256645 @wzwwzw 好的,谢谢,我试试
    @chenqh 这个应该没有吧,首先是 1-10,( 1-9 ), 然后 10-20,( 10-19 ),20-30 (20-29), 应该是没有落下
    dadama
        5
    dadama  
       Mar 5, 2019 via Android
    第 10 和 20 没取到吧,range1 到 10 不包含 10,后面加 10 又从 11 开始了
    XxxxD
        6
    XxxxD  
    OP
       Mar 6, 2019
    @dadama 是的,应该加 9 的,我弄错了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5371 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 44ms · UTC 03:50 · PVG 11:50 · LAX 20:50 · JFK 23:50
    ♥ Do have faith in what you're doing.