«

怎么使用Python采集图片数据

时间:2024-5-20 08:53     作者:韩俊     分类: Python


这篇文章主要介绍“怎么使用Python采集图片数据”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么使用Python采集图片数据”文章能帮助大家解决问题。

发送请求

我们首先确定网址,我们先使用开发者工具,定位到我们要的数据。发现,内容就在网页源代码中。

url = 'https://www.hexuexiao.cn/tj/WuJiayi/'

res = requests.get(url)

# print(res.text)
html_url = re.findall('<a href="https://www.maopiaopiao.com">

我们这里

html_url
 变量的值是一个正则表达式对象,用于匹配网站图片的链接。代码块 
list(set(html_url))
 将列表对象转换为集合对象,使用 
set()
 方法将列表对象转换为集合对象,这是一个将列表中的元素转换为集合的方法。
html_url.index
 是一个整数对象,表示 
html_url
中各元素在原始 HTML 字符串中出现的次数,以此来实现排序。

保存数据

for url1 in urls:
    for page in range(0,10):
        url2 = f'https://www.hexuexiao.cn/a/{url1}-{page}.html'
        # print(url2)
        res1 = requests.get(url2)
        # print(res1.text)
        url3 = re.findall('<img src=(.*?)/></a>',res1.text,re.S)[0]
        print(url3)
        url3=re.sub('',"",url3)
        print(url3)

我们这段代码中的 

urls
 列表是一个字典,其中键是 URL,值是页码。在循环中,我们使用 
range()
 函数从 0 到 9 迭代页码。接下来,我们使用 
requests.get()
 方法分别获取每个页面的 HTML 代码,并使用正则表达式匹配出所有的图片链接。最后,我们使用 
requests.get()
 方法获取每个图片链接的内容,并将其写入一个文件中。

保存图片

 content = requests.get(url3).content
        with open('图片' + str(num) + '.jpg', mode='wb') as f:
            f.write(content)

我们这段代码中的 

content
 变量的值是从图片链接 
url3
 中获取的内容。然后,使用 
with open()
 语句打开一个二进制文件,并将 
content
 写入文件中。在这个过程中,
num
 变量的值是当前文件中的图片序号。获取图片和我们之前获取音频一样,都是保存成二进制文件。

这样,我们的图片数据就保存下来了。这里,我就不展示效果了,原理都是一样的,找到图片的地址,我们就可以获取下来。

标签: python

热门推荐