Python采集图片数据的实现示例

作者:极客飞虎 时间:2023-03-06 05:53:17 

前言:

在网络时代,图片已经成为了我们生活中不可或缺的一部分。随着各种社交媒体的兴起,我们可以在网上看到越来越多的图片,但是如何从这些图片中获取有价值的信息,如何从中提取有用的知识,却是一个需要我们思考和探索的问题。本文将介绍如何采集某个网站的图片,并从中获取有用的信息和知识。

发送请求

Python采集图片数据的实现示例

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

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,采集,图片
0
投稿

猜你喜欢

  • 页面制作的重要性

    2007-10-30 13:14:00
  • python文件和目录操作方法大全(含实例)

    2021-11-11 14:10:29
  • js倒计时代码

    2008-05-07 13:41:00
  • Python+Qt身体特征识别人数统计源码窗体程序(使用步骤)

    2021-06-03 10:40:54
  • numpy模块中axis的理解与使用

    2023-06-26 22:55:28
  • Python字典删除键值对和元素的四种方法(小结)

    2021-06-12 22:58:24
  • Thinkphp 框架基础之源码获取、环境要求与目录结构分析

    2023-06-19 07:20:01
  • 如何将 Access 的 Memo 型态字段汇入到 SQL2005 的 nvarchar 型态字段

    2008-12-26 18:13:00
  • IE7的web标准之道 Ⅲ

    2008-08-20 12:55:00
  • Webform 内置对象 Session对象、Application全局对象,ViewState详细介绍

    2023-06-30 02:14:07
  • 给页面加上Loading效果最简单实用的办法

    2008-11-20 11:58:00
  • java JSP开发之Spring中Bean的使用

    2023-06-16 07:35:08
  • Sql Server 2000内存调整

    2010-04-25 11:24:00
  • Jmail发信的实例,模块化随时调用

    2007-09-27 13:35:00
  • php中Array2xml类实现数组转化成XML实例

    2023-07-14 21:48:13
  • Python map及filter函数使用方法解析

    2021-11-20 05:25:03
  • 用doctype激活浏览器模式

    2009-06-15 19:02:00
  • PHP htmlentities()函数用法讲解

    2023-06-04 14:47:30
  • ASP程序员面试题

    2011-09-15 20:51:20
  • 解决Django中checkbox复选框的传值问题

    2023-09-11 17:15:22
  • asp之家 网络编程 m.aspxhome.com