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

阿里云备案 网站备案域名上海seo优化bwyseo

阿里云备案 网站备案域名,上海seo优化bwyseo,兰州网站推广公司,东莞人才市场招聘会时间提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、多进程与多线程爬取斗图网总结 前言 提示:这里可以添加本文要记录的大概内容: 爬取斗图网 提示:以下是本篇文章正文内…

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

文章目录

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


前言

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

爬取斗图网


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

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

"""
网址: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.ritt.cn/news/21818.html

相关文章:

  • 网站建设云创爱站网综合查询
  • 做彩票网站的方案百度贴吧的互动社区
  • dede网站建站教程护肤品软文推广
  • 做网站本溪谷歌推广一年多少钱
  • 南京那些公司做网站seo关键词优化是什么意思
  • 网页设计创意主题网站优化排名怎么做
  • 石家庄网站建设公司seo网站排名后退
  • wordpress可以做相册吗海阳seo排名
  • 单位网站建设存在问题情况汇报怎么样做推广
  • 手机访问网站下面电话怎么做桂林网站设计
  • 青岛外贸网站制作公司购物网站哪个最好
  • 绍兴网站建设电话百度图片识别搜索引擎
  • 新手做网站优化怎么做网络营销怎么做?
  • vps服务器中的网站不显示图片重庆关键词自然排名
  • 有百度推广的网站360识图
  • 广州做网站新锐国际新闻最新消息十条摘抄
  • 经营网站备案信息白帽seo是什么
  • web网站开发学院深圳网站营销seo电话
  • 大连市人民政府门户网站html网站模板免费
  • 微信公众号如何做微网站网络营销的现状
  • 智能锁东莞网站建设中国站长站官网
  • 北京网站建设的公电商seo引流
  • 手机购物网站建设吉林seo管理平台
  • 做网站 知乎杭州seo 云优化科技
  • 做网站用什么软件企业网络营销策划书范文
  • 临朐网站建设咨询站内推广
  • 任丘做网站企业网络推广方式
  • 怎么在云服务器上搭建网站网络推广外包搜索手机蛙软件
  • 网站建设与运营第二次在线作业关键词排名关键词优化
  • 云空间的网站如何做近期出现的病毒叫什么