python多线程爬虫的方式包括函数式和类对象方式。一、函数式start_new_thread(func,args[])。代码示例如下:
图1:函数式多线程
二、调用Thread类的类对象方式代码示例如下:
图2:类对象方式多线程代码结构及流程:
引入threading模块
定义子类myThread继承threading.Thread类。
重定义父类Thread的run()方法,在其中执行功能代码
实例化线程对象
开始执行线程start()
加入线程队列,直至执行完成,join()。
遇到的问题:
在定义子类时候对类的定义及类内引用方法print_time()出现错误,具体代码和错误如图2和图3所示。
图2:错误代码
图3:错误提示
2.在具体的爬取http://www.78b2b.com/lianghuizhuanti/324826_1.html网页信息的应用过程遇到的问题。具体代码如图4所示:
图4:具体应用代码
代码意图是利用多线程爬取13个网页中的2020年辽宁政府工作报告,并保存在本地TXT文件中,执行过程中的现象,网页被全部打开,但是TXT存储数据不全并有内容的重复写入。
以上是python 多线程爬虫中遇到的坑的详细内容。更多信息请关注PHP中文网其他相关文章!