文章详情页
python - 如何解决queue中同一个参数被多个线程同时调用?
浏览:212日期:2022-08-18 15:18:47
问题描述
本人想实现一个基础的多线程爬虫,初步想法是筛选目录中多个电影标题是否有关键字,没有的话就进入到详情页中查找电影类别中是否有关键字。下面是一部分代码:
executor = ThreadPoolExecutor(max_workers=5) #Future模块的多线程executor.map(get_page,whole) #get_page()为筛选标题的函数time.sleep(5)while not que.empty(): que_data = que.get() filter(que_data) #filter()为筛选分类关键字的函数,但每次五个线程同时访问同一个url
但现在每次多个线程同时调用queue中的同一个url,请问有什么解决办法吗
问题解答
回答1:专门用一个线程读取queue中的url,然后分配给某个线程
对该queue的访问加锁
相关文章:
1. javascript - hexo可以配置文章文件名为随机数么?2. python3.x - python 中的maketrans在utf-8文件中该怎么使用3. python - 用urllib抓取网页上的下载链接,目标文件是xls形式,但发现抓下来的xls是空表,里面只有一句报错信息,求帮助。4. css - ul ol前边的标记如何调整样式呢5. 用CSS3 box-sizing 属性实现两个并排的容器,如果想让容器中间有间隔该如何实现6. mysql - C#连接数据库时一直这一句出问题int i = cmd.ExecuteNonQuery();7. html5 - vue-cli 装好了 新建项目的好了,找不到项目是怎么回事?8. java - ajax成功到后台不知道为什么一直回调失败函数9. node.js - webpack 配置文件 运行出错10. html - 爬虫时出现“DNS lookup failed”,打开网页却没问题,这是什么情况?
排行榜

网公网安备