首页  >  文章  >  后端开发  >  python 多线程爬虫中遇到的坑

python 多线程爬虫中遇到的坑

鸟救山
鸟救山原创
2020-05-20 11:03:05132浏览

python多线程爬虫的方式包括函数式和类对象方式。一、函数式start_new_thread(func,args[])。代码示例如下:

微信图片_20200520105853.jpg

图1:函数式多线程

二、调用Thread类的类对象方式代码示例如下:

2.jpg

图2:类对象方式多线程代码结构及流程:

引入threading模块

定义子类myThread继承threading.Thread类。

重定义父类Thread的run()方法,在其中执行功能代码

实例化线程对象

开始执行线程start()

加入线程队列,直至执行完成,join()。

遇到的问题:

在定义子类时候对类的定义及类内引用方法print_time()出现错误,具体代码和错误如图2和图3所示。

3.jpg

图2:错误代码

4.jpg

图3:错误提示

2.在具体的爬取http://www.78b2b.com/lianghuizhuanti/324826_1.html网页信息的应用过程遇到的问题。具体代码如图4所示:

5.jpg

6.png

图4:具体应用代码

代码意图是利用多线程爬取13个网页中的2020年辽宁政府工作报告,并保存在本地TXT文件中,执行过程中的现象,网页被全部打开,但是TXT存储数据不全并有内容的重复写入。

以上是python 多线程爬虫中遇到的坑的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn