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

html中文网站作业五八同城找工作

html中文网站作业,五八同城找工作,天津智能网站建设价位,word做网站连接提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、多进程与多线程爬取斗图网总结 前言 提示:这里可以添加本文要记录的大概内容: 爬取斗图网 提示:以下是本篇文章正文内…

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

文章目录

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


前言

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

爬取斗图网


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

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

"""
网址: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/485453/

相关文章:

  • 国外网站 dns免费免费建网站
  • 平台网站很难做北京做建筑信息的网站
  • 成都门户网站有哪些淘宝代运营去哪里找
  • 网站模板尺寸wordpress 皇冠主题
  • 绍兴做网站比较专业的公司电子商务系统的开发方式
  • 温州做网站哪家比较好青岛好的网站制作推广
  • 请问如何做网站英文网站外链查询
  • 厦门市规划建设局网站简单易做的的网站
  • 广告网站怎么建设课程网站建设的财务分析
  • gta5线下买房网站建设中国网站排名100
  • 后台控制网站关键词设置的详细代码wordpress怎么重置密码
  • 赣icp上饶网站建设做网站后台主要负责什么
  • 阿里云建站和华为云建站哪个好做百度移动端网站优化
  • 如何做网站主页wordpress和公众号对接
  • 手机公司网站建设东莞长安网站制作
  • 鞋网站建设方案网站建设毕业实习报告
  • 网站源码下载 支付二维码怎么弄湖北智能网站建设制作
  • 网站会员充值接口怎么做的wordpress会员注册怎样更改
  • 凡科做的手机网站可以导出来自媒体注册平台
  • 网站备案被拒绝建筑公司企业愿景平台
  • 网站制作软件是什么莒县网站设计
  • 网站建设与设计实习报告dw和vs做网站
  • 淘宝网站内搜索引擎优化怎么做沙井网站优化
  • 国外优秀flash网站vivo即将发布的新手机
  • 企业电子商务网站建设教案邯郸房产网官网
  • 太原门户网站网站制作致谢词
  • 企业还有人做网站么到哪里去学营销管理课程
  • 做电玩城设计的网站wordpress改模式
  • 如何网站推广策划张家港阿里网站建设
  • 网站搜索不到了北京网页设计公司兴田德润团队