main()中文本处理线程代码 的 位置问题

main()中文本处理线程代码 的 位置问题

修改前:

http://img1.sycdn.imooc.com//climg/601f69710967121d00000000.jpg

修改后:

http://img1.sycdn.imooc.com//climg/601f697109fad23413070803.jpg

老师您好,我把 文本处理线程开启 的代码调到 页码线程释放代码 之后运行,最终爬取到的结果会少很多,为什么呢?(我没用代理,修改前的代码 数据都能爬到)

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学,你好!老师这边测试了同学说的问题,爬取数据是正常的,可能原因是同一ip重复爬取数据,网站的反爬策略限制了数据的抓取,可等待一段时间之后再次尝试

祝:学习愉快!

  • 努力学习啊啊 提问者 #1

    老师,正常每页50条记录,如果按照图一代码放置,我爬10页就是500条,100页5000条记录,没问题。但是按照图二代码放置,最多爬三页150条记录,是稳定的,再多爬几页数据就不稳定了,反正就在150左右波动,这是为什么啊?

    2021-02-08 22:33:21
  • 努力学习啊啊 提问者 #2

    代码位置会影响对方网站的反爬措施吗?既然图一代码位置没引起反爬措施,图二也不会 引起吧0.0

    2021-02-08 22:34:41
  • 同学,你好!调整位置后,获取1页、2页数据没有问题,当获取较多页数据时,的确会出现同学所说的问题。代码调整之后,处理页码的线程先停止、释放,然后处理文本的线程启动,参数data_queue来自页码线程的处理结果;多线程使用队列的时候,当数据较多时,如果处理页码的线程先停止释放了,处理文本的线程获取队列中残存的数据会受到影响,因此最终得到的数据量比较少。

    祝:学习愉快!

    2021-02-09 12:19:35
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
4.入门主流框架Scrapy与爬虫项目实战
  • 参与学习           人
  • 提交作业       107    份
  • 解答问题       1672    个

Python最广为人知的应用就是爬虫了,有趣且酷的爬虫技能并没有那么遥远,本阶段带你学会利用主流Scrapy框架完成爬取招聘网站和二手车网站的项目实战。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师