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

阿里云备案 网站备案域名购买外贸seo优化公司

阿里云备案 网站备案域名购买,外贸seo优化公司,做网站浏览器,用h5做的网站提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、多进程与多线程爬取斗图网总结 前言 提示:这里可以添加本文要记录的大概内容: 爬取斗图网 提示:以下是本篇文章正文内…

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

文章目录

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


前言

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

爬取斗图网


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

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

"""
网址: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.tj-hxxt.cn/news/21360.html

相关文章:

  • 做vlogger的网站有哪些今日最新闻
  • 网站开发 需要用到什么软件什么网站可以免费推广
  • 一个网站需要多少空间培训班该如何建站
  • 百度网站前三名权重一般在多少seo推广软件排行榜前十名
  • 微信小程序专业开发公司郑州网站seo顾问
  • 低价做网站优化seo方案
  • wordpress 图文直播插件台州优化排名推广
  • 接项目的网站开发pb桌面程序小红书seo排名规则
  • 网站架构设计师怎样宣传网站
  • 重庆建设网站的公司百度推广开户2400
  • python网站开发演示网站推广去哪家比较好
  • 全网霸屏推广系统广州宣布5条优化措施
  • 陶瓷网站模板交换友情链接的平台有哪些
  • 友汇网 做公司网站百度指数的特点
  • 网站开发asp软件有哪些软文优化
  • 精品课程网站营销型网站建设ppt
  • 兰州网站建设hiteeth网站制作公司官网
  • 韶关专业网站建设教程网络营销推广经验总结
  • 孝感58同城网站建设网站设计的毕业论文
  • 51做图片的网站市场调研报告包括哪些内容
  • 网站设计需要学什么软件成人再就业技能培训班
  • 洛阳市住房和城乡建设委员会网站seo培训班 有用吗
  • 国内男女直接做的视频网站百度数据分析
  • 上海 有哪些做网站的公司好短网址生成器免费
  • 目前做网站最好的语言是pc网站建设和推广
  • 网站建设与管理难不难农产品网络营销
  • 网站服务器重启学电商出来一般干什么工作
  • 公司网站建设选什么服务器江西seo推广方案
  • 网站建设企业邮箱制作网站长沙谷歌seo收费
  • 福州做网站建设服务商网站主题