当前位置: 首页 > news >正文

php开发做网站专注Wordpress服务

php开发做网站,专注Wordpress服务,在线proxy服务器,wordpress 评论管理提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、多进程与多线程爬取斗图网总结 前言 提示:这里可以添加本文要记录的大概内容: 爬取斗图网 提示:以下是本篇文章正文内…

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、多进程与多线程爬取斗图网
  • 总结


前言

提示:这里可以添加本文要记录的大概内容:

爬取斗图网


提示:以下是本篇文章正文内容,下面案例可供参考

一、多进程与多线程爬取斗图网

"""
网址:https://www.doutupk.com/article/list/?page=2
目标:多进程多线程下载图片
"""import requests
from lxml import etree
from concurrent.futures import ThreadPoolExecutor
from multiprocessing import Process,Queue # 此队列是用的网络
# from queue import Queue #内存层面的。进程通信,它是不行的,
def get_img_src(url,q):# url = "https://www.doutupk.com/article/list/?page=2"# 请求页面源代码的session = requests.Session()session.headers = {"":""#请求头自行添加}resp = session.get(url)tree = etree.HTML(resp.text)a_list = tree.xpath(".//div[@id='home']/div/div[2]/a")# print(len(a_list))for a in a_list:srcs = a.xpath(".//img/@data-original")for src in srcs:# print(src)# download_img(src) # 需要交出去 而不是自己下载q.put(src) ## 吧src传递给队列
def get_img_process(q):with ThreadPoolExecutor(3) as t:# 线程池,相当于一个url一个线程for i in range(2,10):# url = f"https://www.doutupk.com/article/list/?page={i}"t.submit(get_img_src,f"https://www.doutupk.com/article/list/?page={i}",q)# get_img_src(f"https://www.doutupk.com/article/list/?page={i}")# 当整个任务结束了,传递一个结束的型号q.put("结束了...")print("所有图片url获取完毕")def download_img(src):# 下载图片的session_2 = requests.session()session_2.headers = {"":""#请求头自行添加}file_name = src.split("/")[-1]img_resp = session_2.get(src)with open(file_name, mode='wb') as f:f.write(img_resp.content)def download_process(q):  # 这个进程另一个进程里的图片下载地址with ThreadPoolExecutor(10) as t:while 1:# 从队列中提取到srcsrc = q.get() # 接收到这条消息代表任务结束if src == "结束了...":breakt.submit(download_img,src)# download_img(src)print("所有图片下载完毕")
def main():q = Queue()# 负责获取图片下载地址p1 = Process(target=get_img_process,args=(q,))# 表示给进程函数提供参数,必须是(元组)args# 负责下载图片p2 = Process(target=download_process,args=(q,))p1.start()p2.start()if __name__ == '__main__':main()

在这里插入图片描述
在这里插入图片描述


总结

将图片url的提取和图片下载分成两个独立的任务,每一个任务用一个进程,并用多线程提高效率,两个进程的图片url交互使用的Queue队列,确保获取图片url的进程能把url传递给图片下载任务进程。

http://www.yayakq.cn/news/274183/

相关文章:

  • 营销型网站免费企业网站模版南宁seo网站推广服务
  • 自己怎么创建网站wordpress 微博文章
  • 乱码网站怎么办wordpress搭建下载站
  • 商城网站验收软文范例200字
  • 广州网站建设要多少钱网站打不开怎么回事
  • 做空压机网站设计图片的app软件
  • 苏州建设交通学校网站首页网易做相册旅游网站
  • 品牌网站设计暴雪被收购
  • 广东省网站建设网站开发看谁的教程
  • 网站搜什么关键词好菜鸟式网站建设图书
  • mysql数据做彩票网站玉溪做网站
  • 网站上传完成后要怎么做ui设计兼职平台有哪些
  • wap网站html模板网站建设与管理是什么意思
  • 浙江虎霸建设机械有限公司网站销售培训课程
  • 吉林网站建设电话国际阿里巴巴官网首页
  • 郑州网站建设技术wordpress新闻类模板
  • 合肥哪家制作网站公司网站做好了还需
  • 厦门网站设计多少钱wordpress原创企业主题
  • 做调查问卷权威网站辽宁省建设工程信息网锁丢失
  • 广州网站制作公司电话WordPress让中文名图片显示
  • 郑州建立一个网站需要哪些秦皇岛建设网站官网
  • 西安网站建设招商橙色的网站
  • 宜兴建设局 审图中心 网站万户oa系统
  • 刷推广链接的网站电脑从做系统怎么找回以前登录的网站
  • 软件下载网站源码青岛正规网站建设哪家好
  • 黑龙江省建设局网站首页开发软件大概需要多少钱
  • 商城网站制作公司地址网站建设分为哪几种类型
  • 网站建设属于什么税自建博客wordpress
  • 宁波网站推广专业的建站优化公司学校网站建设都是谁做的
  • 建设厅国网查询网站济南网站建设方案书范文