前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >利用Python批量采集图片

利用Python批量采集图片

作者头像
算法与编程之美
发布2023-09-28 14:58:05
1660
发布2023-09-28 14:58:05
举报

1问题

在大数据时代,信息的采集是一项重要的工作,如果单纯靠人力进行信息采集,低效繁琐,在工作中,有时会遇到需要相当多的图片资源,可是如何才能在短时间内获得大量的图片资源呢?

2方法

这里先对要运用的第三方库进行安装。本文选取的函数库主要为requests、lxml、etree。首先,我们随意打开一个网站,通过requests库对网页的地址进行访问申请。获取目标地址,进行循环,依次对每个图片地址进行操作,

代码清单1

代码语言:javascript
复制
import reques
if __name__ == '__main__':
url = 'https://www.vcg.com/creative-image/xigua/'
header = {'User_Agent':'Mozilla/5.0(Windows NT 10.0; Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/102.0.5005.63 Safari/537.36Edg/102.0.1245.39'}
response = requests.get(url=url, headers=header):
   response.encoding = 'utf-8'
   page_text = response.text
   tree = etree.HTML(page_text)
   figure_list = tree.xpath('//div[@class="gallery_inner"]/figure')
   if not os.path.exists('./piclitl'):
       os.makedirs('./piclitl')
   for figure in figure_list:
       try:
           img_src = figure.xpath('./a/img/@data-src')[0]
       except(IndexError):
           print('未成功匹配到字段')
       img_src = 'https:' + img_src
       img_name = img_src.split('/')[-1]
       try:
           img_data = requests.get(url=img_src, headers=header).content
       except(requests.exceptions.InvalidURL):
           print('没有访问地址')
       img_path = 'piclitl/' + img_name
       with open(img_path, 'wb') as fp:
           fp.write(img_data)
           print(img_name, '下载成功')

3结语

针对利用Python如何在短时间内获取大量图片并保存的问题,提出使用爬虫、open()函数、iter_content()函数、write()函数、循环等方法将图片下载并保存,通过实验,证明该方法是有效的,但在描绘的过程中使用的方法过于单一,并没有很多色彩以及特点,未来应继续改善和学习。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2023-09-27 00:00,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 算法与编程之美 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 代码清单1
相关产品与服务
大数据
全栈大数据产品,面向海量数据场景,帮助您 “智理无数,心中有数”!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档