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
XxxxD
V2EX  ›  Python

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

  •  
  •   XxxxD · 2019-03-04 21:48:16 +08:00 · 2203 次点击
    这是一个创建于 2091 天前的主题,其中的信息可能已经有所发展或是发生改变。

    迫于 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 条回复    2019-03-06 08:20:38 +08:00
    wzwwzw
        1
    wzwwzw  
       2019-03-04 22:33:24 +08:00
    微博的数据好像有保护。你检查一下 25 页之后是不是正常的访问。
    chenqh
        2
    chenqh  
       2019-03-04 23:53:57 +08:00 via Android
    第 10 页,20 页的数据请求不到的吧,如果我没有理解错你的代码
    zh826256645
        3
    zh826256645  
       2019-03-05 00:05:13 +08:00
    如果你不确定你爬取的接口有没有做什么特殊的处理,建议先别使用多线程(协程)进行爬取,测试一次爬取的数据对不对得上
    XxxxD
        4
    XxxxD  
    OP
       2019-03-05 08:38:07 +08:00
    @zh826256645 @wzwwzw 好的,谢谢,我试试
    @chenqh 这个应该没有吧,首先是 1-10,( 1-9 ), 然后 10-20,( 10-19 ),20-30 (20-29), 应该是没有落下
    dadama
        5
    dadama  
       2019-03-05 11:38:35 +08:00 via Android
    第 10 和 20 没取到吧,range1 到 10 不包含 10,后面加 10 又从 11 开始了
    XxxxD
        6
    XxxxD  
    OP
       2019-03-06 08:20:38 +08:00
    @dadama 是的,应该加 9 的,我弄错了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2329 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 01:50 · PVG 09:50 · LAX 17:50 · JFK 20:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.