Python采集图片数据的实现示例
作者:极客飞虎 发布时间:2023-03-06 05:53:17
前言:
在网络时代,图片已经成为了我们生活中不可或缺的一部分。随着各种社交媒体的兴起,我们可以在网上看到越来越多的图片,但是如何从这些图片中获取有价值的信息,如何从中提取有用的知识,却是一个需要我们思考和探索的问题。本文将介绍如何采集某个网站的图片,并从中获取有用的信息和知识。
发送请求
我们首先确定网址,我们先使用开发者工具,定位到我们要的数据。发现,内容就在网页源代码中。
url = 'https://www.hexuexiao.cn/tj/WuJiayi/'
res = requests.get(url)
# print(res.text)
html_url = re.findall('<a href="https://www.hexuexiao.cn/a/(\d+).html" rel="external nofollow" >',res.text,re.S)
urls = sorted(list(set(html_url)), key=html_url.index)
我们这里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采集图片是一项非常重要的任务,它可以帮助我们从海量的信息中提取有用的信息和知识。在本文中,我们将介绍如何采集某个网站的图片,并从中获取有用的信息和知识。首先,我们需要明确自己的目的和需求,选择适合自己的采集方式和策略。其次,我们需要学会使用各种工具和方法,包括搜索引擎、浏览器插件、图片处理工具等,来获取图片。在处理图片时,我们需要注意保证图片的质量和清晰度,避免出现模糊、失真等问题。最后,我们需要总结经验教训,不断改进自己的采集方式和策略,提高采集效率和质量。
来源:https://juejin.cn/post/7225555658007527479


猜你喜欢
- Python由Guido Van Rossum发明于90年代初期,是目前最流行的编程语言之一,因其语法的清晰简洁我爱上了Python,其代码
- 一、问题分析runtimeError: package fails to pass a sanity check解决方法如下:解决一:使用p
- 目录问题一:默认的 HTTP Client问题二:默认的 Http Transport总结HTTP(超文本传输协议)是一种用于客户端和服务器
- 我们不可能直接通过node命令来管理远程站点,这样无法保证网站的可持续运行。我们用Forever来解决这个问题,它可以将NodeJS应用以后
- 一、前言当我们必须处理可能有多个列和行的大型DataFrames时,能够以可读格式显示数据是很重要的。这在调试代码时非常有用。默认情况下,当
- 前言:本系列文章主要参考了《Ultimate ASP.NET Core 3 Web API》一书,对原文进行了翻译,同时适当删减、修改了一部
- 一:什么是数据库,为什么要有数据库?数据,数据库,数据库管理系统和数据库系统是与数据库技术密切相关的四个基本概念。数据库相信大家都耳熟能详了
- 引言事情是这样的,直接开讲面试官:npm run xxx的时候,发生了什么?讲的越详细越好。我(心想,简单啊): 首先,DNS 解析,将域名
- SQL Server数据库快捷键:书签:清除所有书签。 CTRL-SHIFT-F2书签:插入或删除书签(切换)。 CTRL+F2书签:移动到
- 获取当前文件的路径:from os import path d = path.dirname(__file__) #返回当前文件
- 如何用SQLMail建立一个电子刊物自动处理系统?下面我们用SQLMail来做一个电子刊物自动处理系统。在这个系统中,主要实现两个功能:1、
- 一、字符集 character字符 character 是各种文字和符号的总称字符编码 character code 是计算机针对各种符号,
- 前两天看的时候,所用的歌曲地址加密方式已变更。将以前的发出来供大家赏玩。解密函数是从flash里面反编译出来的,加密函数是自己根据解密函数写
- 1、说明这篇文章是帮一个群友解答的问题。他有一个需求,就是对于日期的录入都是中文形式的,需要转换为数字形式的。由于python库中没有函数直
- 前言最近看到一个题目,看似很简单,其实里面有很深的意义,题目是Python 表达式 i += x 与 i = i + x 等价吗?如果你的回
- 在设计网页时,没有比页面的外观更重要的了。所以,如果发现设计人员十分关注字体及字体大小,我并不感到惊奇。使用CSS来编辑字体有各种各样的方法
- 前面我们给了Tkinter接管Python输入和输出的介绍,我们不难可以想到,能用Tkinter来开发自己的Python代码编辑器.例如可以
- 本文实例讲述了Python整型运算之布尔型、标准整型、长整型操作。分享给大家供大家参考,具体如下:#coding=utf8def integ
- 一、安 * rew终端上运行 /usr/bin/ruby -e "$(curl -fsSL https://raw.githubus
- 1. 反射简介1.1 反射是什么?Go语言提供了一种机制在运行时更新和检查变量的值、调用变量的方法和变量支持的内在操作,但是在编译时并不知道