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

做推广的网站带宽需要多少合适目前最火的推广平台

做推广的网站带宽需要多少合适,目前最火的推广平台,网站建设源代码怎么搭建,银川网站制作看教程的时候看到一个,生产者跟消费者的概念比较有意思,但是给的代码有问题无法正常运行,于是我就捣鼓了一下。 基本概念就是: 生产者: 一个进程获取网页没页的图片连接(主进程…

看教程的时候看到一个,生产者跟消费者的概念比较有意思,但是给的代码有问题无法正常运行,于是我就捣鼓了一下。
基本概念就是:
                        生产者:     一个进程获取网页没页的图片连接(主进程)
                        消费者:        一个进程下载图片,不同的是每个页面有20张图片,所以在进程中又开了二十线程(子进程)
嗯,概念就是这样接下来看代码

# -*- coding: utf-8 -*-
# @Time :2023/9/30 22:46
# [url=home.php?mod=space&uid=686208]@AuThor[/url]  : 
# @FileName :进程池.线程池配合使用与进程共用变量的使用.py
# [url=home.php?mod=space&uid=2097534]@IED[/url] :PyCharm""""""
import multiprocessing
import requests
import os
from concurrent.futures import ThreadPoolExecutor
from lxml import etreepath = r'D:\img'
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) ''AppleWebKit/537.36 (KHTML, like Gecko) ''Chrome/117.0.0.0 Safari/537.36'
}# 获取图片地址
def get_url(url, que):resp = requests.get(url, headers=headers)resp.encoding = resp.apparent_encodingdate = resp.texttree = etree.HTML(date)list_url = tree.xpath('//ul[@class="clearfix"]/li/a')for i in list_url:url_img = i.xpath('./img/@src')que.put('https://pic.netbian.com' + str(*url_img))  # put写入进程变量队列中resp.close()#  下载并保存图片
def download_ove(url, name):try:resp = requests.get(url, headers=headers)path_img = os.path.join(path, f'{name.value}.jpg')with open(path_img, 'wb') as f:f.write(resp.content)print(f'保存成功{name.value}.jpg')name.value += 1  # 数值型进程变量自增except Exception as ex:print('下载出错', ex)#  获取进程队列中的url并启用线程池下载保存图片
def download_img(que, name):# 创建线程池,指定20个线程处理数据with ThreadPoolExecutor(20) as t:while True:try:s = que.get(timeout=3)  # 获取进程队列中的数据,等待3秒若是还没获取到数据抛出异常t.submit(download_ove, s, name)  # 添加进线程池# t.submit(download_ove, s).add_done_callback(err_call_back)  #  获取线程池异常except Exception as ec:print(ec)break#  接收进程池与线程池异常的回调函数
def err_call_back(err):print(f'出错啦~ error:{str(err)}')if __name__ == '__main__':if not os.path.exists(path):os.mkdir(path)que = multiprocessing.Manager().Queue()  # 创建一个进程之间共享的队列变量name = multiprocessing.Manager().Value('i', 0)  # 创建一个进程之间共享的数值型变量,'i'表示整型数字,0表示从0开始for i in range(1, 4):if i != 1:url = f'https://pic.netbian.com/4kdongman/index_{i}.html'else:url = 'https://pic.netbian.com/4kdongman/'get_url(url, que)#  创建进程池,并将函数添加到进程池内,指定最多开辟1个进程处理数据(开多了怕把网址玩崩)with multiprocessing.Pool(1) as pool:pool.apply(download_img, args=(que, name))  # 将函数以同步的方式添加进进程池# apply_async异步方式无法使用不知道为啥,不报异常也不运行download_img函数# pool.apply_async(download_img, args=(que, name), error_callback=err_call_back)pool.close()  # 结束进程池,不在往内添加数据pool.join()  # 等待进程池运行结束print('结束')

本代码仅作为练习所用,大家别把人家网站搞崩了。

http://www.hengruixuexiao.com/news/19332.html

相关文章:

  • 前端开发培训班站长工具seo
  • 松江做移动网站seo伪原创工具
  • 网站设计模板代码青岛神马排名优化
  • 辽宁建设工程信息网新网站网络游戏推广员是做什么的
  • 聊城做网站的公司价格西安分类信息seo公司
  • 物流专线做网站百度网站入口链接
  • 网站开发有哪些服务器快速排名软件案例
  • 怎么做淘宝联盟网站深圳seo优化公司搜索引擎优化方案
  • 网站地图在线生成2022近期时事热点素材摘抄
  • 苏州建设网站首页高端网站建设的公司
  • 上海企业制作网站有哪些免费网站seo
  • 推荐十个网站seo程序
  • 飞速网站排名营销和运营的区别是什么
  • 网站建设都是需要什么软件合肥优化排名推广
  • 网站建设一般用到的语言关键词推广工具
  • 贵州做旅游的网站公司网站建设要多少钱
  • 怎么做提升网站转化率企业培训系统app
  • 重庆那些公司的网站是网易做的精准营销案例
  • 广州网站建设studstuseo搜索引擎优化内容
  • 凡科做的网站怎么打不开了广告网络推广
  • 国外ps网站互联网营销师培训
  • 少儿类网站怎么做网页设计制作网站模板图片
  • 无锡网站制作的公司有哪些广告联盟怎么加入
  • 做蛋糕有哪些网站自助建站平台
  • 响应式电商网站制作网页设计制作网站
  • wordpress个性化小图标武汉seo技术
  • 大型国企网站建设费用福州seo快速排名软件
  • 临沂网站建设模板千锋教育的口碑怎么样
  • 天津 企业网站建设seo是搜索引擎营销
  • 网站速度测速爱链在线