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

网站的建设属于无形资产东莞网站建设(信科网络)

网站的建设属于无形资产,东莞网站建设(信科网络),湛江市城乡住房建设局网站,最好网站建设本文目标 对于猫12目标检测部分的数据集,采用网络爬虫来制作数据集。 在网络爬虫中,经常需要下载大量的图片。为了提高下载效率,可以使用多线程来并发地下载图片。本文将介绍如何使用Python编写一个多线程爬虫程序,用于爬取图片…

本文目标

对于猫12目标检测部分的数据集,采用网络爬虫来制作数据集。

在网络爬虫中,经常需要下载大量的图片。为了提高下载效率,可以使用多线程来并发地下载图片。本文将介绍如何使用Python编写一个多线程爬虫程序,用于爬取图片并进行下载。

程序讲解

首先,我们需要导入所需的库,包括requests、PIL、lxml、numpy和threading。其中,requests库用于发送HTTP请求,PIL库用于处理图片,lxml库用于解析HTML,numpy库用于处理数组,threading库用于实现多线程。

import time
import requests
from lxml import etree
import numpy as np
import threading

接下来,我们定义了一个函数searchImageurls,用于从指定网站上搜索图片的URL。在这个例子中,我们以https://www.hippopx.com/zh 为例。函数中,我们使用requests库发送HTTP请求,获取网页内容,并使用lxml库解析HTML,提取图片的URL。最后,我们将URL存储在一个数组中,并返回该数组。

def searchImageurls():ImageUrls = []for i in range(1, 6):url = f"https://www.hippopx.com/zh/query?q=cat&page={i}"response = requests.get(url, headers=headers)html = response.content.decode('utf-8')tree = etree.HTML(html)# print(tree)image_url = tree.xpath('//*[@id="mainlist"]/li/figure/a/img/@src')ImageUrls.append(image_url)ImageUrls = np.array(ImageUrls)ImageUrls = ImageUrls.flatten()return ImageUrls

然后,我们定义了一个函数download_image,用于下载图片。在这个函数中,我们使用requests库发送HTTP请求,获取图片的内容,并使用PIL库将内容保存为图片文件。如果下载失败,我们会进行最大重试次数的重试。

def download_image(url, filename):max_retries = 3  # 最大重试次数retries = 0while retries < max_retries:try:response = requests.get(url)with open(filename, 'wb') as f:f.write(response.content)print(f"Downloaded {filename}")break  # 下载成功,跳出循环except requests.exceptions.ConnectionError as e:print(f"Connection error: {e}")retries += 1time.sleep(1)  # 等待1秒后重试if retries == max_retries:print(f"Failed to download {filename}")

在主函数中,我们首先调用searchImageurls函数获取图片的URL数组。然后,我们创建多个线程,并将每个线程分配一个URL进行下载。最后,我们等待所有线程完成下载。

最后,我们输出下载完成的消息。

if __name__ == '__main__':ImageUrls = searchImageurls()threads = []print("开始下载")for i, url in enumerate(ImageUrls):filename = f'./images/cat{i + 1}.jpg'thread = threading.Thread(target=download_image, args=(url, filename))thread.start()threads.append(thread)for thread in threads:thread.join()print("全部下载完毕")

注:Connection error: ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response'))  -- 这是由于错误的url导致的

完整代码

import time
import requests
from lxml import etree
import numpy as np
import threading# 爬取的图片网站  https://www.hippopx.com/zh
headers = {"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36 Edg/119.0.0.0"}def searchImageurls():ImageUrls = []for i in range(1, 6):url = f"https://www.hippopx.com/zh/query?q=cat&page={i}"response = requests.get(url, headers=headers)html = response.content.decode('utf-8')tree = etree.HTML(html)# print(tree)image_url = tree.xpath('//*[@id="mainlist"]/li/figure/a/img/@src')ImageUrls.append(image_url)ImageUrls = np.array(ImageUrls)ImageUrls = ImageUrls.flatten()return ImageUrls# 图片下载
def download_image(url, filename):max_retries = 3  # 最大重试次数retries = 0while retries < max_retries:try:response = requests.get(url)with open(filename, 'wb') as f:f.write(response.content)print(f"Downloaded {filename}")break  # 下载成功,跳出循环except requests.exceptions.ConnectionError as e:print(f"Connection error: {e}")retries += 1time.sleep(1)  # 等待1秒后重试if retries == max_retries:print(f"Failed to download {filename}")if __name__ == '__main__':ImageUrls = searchImageurls()threads = []print("开始下载")for i, url in enumerate(ImageUrls):filename = f'./images/cat{i + 1}.jpg'thread = threading.Thread(target=download_image, args=(url, filename))thread.start()threads.append(thread)for thread in threads:thread.join()print("全部下载完毕")

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

相关文章:

  • 网站建设一般好久到期广西红豆社区梧州论坛
  • 网站制作上海市帝国程序如何改网站标题
  • 建立免费网站 优帮云买购网十大品牌网
  • 成都seo公司网站优化要怎么做才会做到最佳
  • 镇江网站推广石家庄市工程建设造价管理站网站
  • python是做网站的吗正规app软件开发费用
  • 学校网站建设推进会如何用dw8做网站视频
  • 手机网站快速建站江门市建设工程安全监督网站
  • 苏州网站关键词推广镇江网站seo
  • 如何修改网站关键词网页翻译功能
  • 怎么查看网站是否备案青岛通力建设集团网站
  • 黑黄logo网站深圳上位机软件开发培训
  • 网站链接跳转怎么做前端如何根据ui设计写页面
  • 优秀企业门户网站建设现在都用什么网站找事做
  • 网站推广软文案例齐家网装修平台
  • 利用微博网站做淘客长治制作公司网站的公司
  • wordpress建站有广告吗广州建网站兴田德润可信
  • 海报素材网站推荐关于建设网站的培训知识
  • 建站需要什么软件小孩学编程哪家好
  • 网站关键词建设网页设计能干什么
  • 南通网站建设方案深深圳市建设局网站
  • 广西智能网站建设企业网站设计与建设系统
  • 网站类型分析信阳百度推广
  • 如何选择一家好的网站建设公司怎么做磁力网站
  • 做设计最好的参考网站wordpress 关键词过滤
  • 网站免费维护建立网站全网营销网站建设
  • 网站模板下载后怎么用东莞企业网站建设开发公司
  • 网站开发毕设需求分析网络营销专业的就业方向
  • 盱眙网站制作深圳网站建设首选全通网络
  • 游戏网站cms网站建设需要有什么特点