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
![](https://www.aspxhome.com/images/zang.png)
![](https://www.aspxhome.com/images/jiucuo.png)
猜你喜欢
- 原理:自定义javascript中的oncontextmenu事件,然后使用div层模拟菜单。知道了这个原理结合美工相信你可以做出很漂亮的自
- 具体代码如下所示:<?php//在子类或类内部用“::”调用本类或父类时,不是静态调用方法,而是范围解析操作符。class Paren
- 认为整理的还比较详细的,亲们,就快点收藏起来吧!PHP系统类函数assert函数:检查assertion声明是否错误extension_lo
- 代码如下:'===================================== '获得文件后缀 '=====
- python刷CSDN访问量import requestsimport reimport timepayload = ""
- 这篇文章主要介绍了Python hashlib加密模块常用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价
- 什么是.netMicrosoft® .NET 是 Microsoft XML Web services 平台。XML Web
- 注:答案一般在网上都能够找到。1.对if __name__ == 'main'的理解陈述2.python是如何进行内存管理的
- 哲学家就餐问题:哲学家就餐问题是典型的同步问题,该问题描述的是五个哲学家共用一张圆桌,分别坐在五张椅子上,在圆桌上有五个盘子和五个叉子(如下
- 为了处理根据Web标准创作的网页和根据盛行于20世纪90年代末的旧时实践创作的网页,当代的Web浏览器实现了各种不同的引擎模式。本文说明了那
- 本篇没有考虑异步,多线程及SQL注入WebDatabase 规范中说这份规范不再维护了,原因是同质化(几乎实现者都选择了Sqlite),且不
- 如果直接使用base64_encode和base64_decode方法的话,生成的字符串可能不适用URL地址。下面的方法可以解决该问题:UR
- 浏览器:IE ,不支持firefoxfilter视觉滤镜的种类:Alpha(透明度) Blur(模糊) Chroma(指定颜色透明) Dro
- 如何在线删除表或索引? <%Set conn1 = Server.CreateObject(&
- 目录什么是 JSON在哪里使用JSON基本的 JSON 语法如何在 Python 中处理 JSON 数据包含 JSON 模块使用 json.
- 区块链中的共识算法在比特币公链架构解析中,就曾提到过为了实现去中介化的设计,比特币设计了一套共识协议,并通过此协议来保证系统的稳定性和防攻击
- 问题你想在使用范围内执行某个代码片段,并且希望在执行后所有的结果都不可见。解决方案为了理解这个问题,先试试一个简单场景。首先,在全局命名空间
- 有这么一个题目,说bt其实也不bt,为了重点突出其中的意图,特意加上了括号:var a = (++Math.P
- 去掉html中的table代码 Function OutTable(str) dim a,re&nb
- SQL是用于访问ORACLE数据库的语言,PL/SQL扩展和加强了SQL的功能,它 同时引入了更强的程序逻辑。 PL/SQL支持DML命令和