首页 > 编程语言 >python爬取网页图片脚本

python爬取网页图片脚本

时间:2023-07-19 22:22:51浏览次数:40  
标签:网页 img python list 爬取 url html path 图片

使用python编写网页图片的爬取脚本

环境搭建:

首先搭建一个web服务器

安装phpstudy

image

访问phpstudy的IP显示探针即为搭建成功

image

把网站放到phpstudy的默认目录WWW下,给默认文件l.php修改名字

image

访问网页即可看到spider网页,页面内有图片

image

编写图片爬取到本地的python脚本

通过python 脚本爬取网页图片步骤:

  • 获取整个页面所有源码
  • 筛选出源码中图片地址
  • 将图片下载到本地

从页面源代码中提取图片地址(从字符串中,提取符合某个特征的字串)

style/u1257164168471355846fm170s9A36CD0036AA1F0D5E9CC09C0100E0E3w6.jpg

style/u18825255304088225336fm170sC213CF281D23248E7ED6550F0100A0E1w.jpg

总结出字串由"style/"开头,以".jpg"结尾,中间为任意字符串

列出正则表达式:

style/\w*.jpg

# 	图片爬取.py
'''声明模块,
	requests用来模拟浏览器行为,发送HTTP 请求,并处理HTTP 响应
	re	用来正则匹配图片的路径
	time	用来保存本地图片,防止图片名字相同被覆盖
'''	
import requests
import re
import time 
#	定义URL地址
url = "http://localhost/Spider/"

#	定义函数,传入URL
def get_html(url):
#   发送http请求
    res = requests.get(url = url)
#   将返回的HTTP响应包给html
    html = res.text
#   返回html的值.
    return html

#	传入html值
def get_img_path_list(html):
#   定义正则匹配规则
    img_path_re = r"style/\w+\.jpg"
#	在返回的html值中,将符合正则匹配的内容赋给img_path_list参数
    img_path_list = re.findall(img_path_re, html)
#	返回img_path_list的内容
    return img_path_list

#	定义图片下载函数
def download_img(img_path):
#	拼接完整的URL
    full_url = url + img_path
#	输出显示URL
    print(f"{full_url}")
#	发送get请求
    res= requests.get(url = full_url)
#	设置图片的保存路径,推荐使用绝对路径,加入时间戳区分图片
    img_save_path =f"E:/APP/python/网页图片信息爬取/img/{time.time()}.jpg"
#	以二进制形式写入的方式打开图片的保存目录
    with open (img_save_path, 'wb') as f:
#		把响应以二进制形式写入
        f.write(res.content)
    
#	网页源代码
html = get_html(url = url)
#	图片列表
img_path_list = get_img_path_list(html = html)
#	循环执行图片下载函数
for img_path in img_path_list:
    download_img(img_path)

image

网页爬取使用的python模块及参数

requests

主要用来模拟浏览器行为,发送HTTP 请求,并处理HTTP 响应

处理网页内容的基本逻辑:

  • 定义一个URL 地址;
  • 发送HTTP 请求;
  • 处理HTTP 响应。

image

re 模块

从网页内容中提取图片地址。

正则表达式(RE),是一些由字符和特殊符号组成的字符串,它们能按某种模式匹配一系列有相似特征的字符串。

image

image

标签:网页,img,python,list,爬取,url,html,path,图片
From: https://www.cnblogs.com/2210z/p/17566930.html

相关文章

  • python解释器安装:
     python3.8安装下载python软件wgethttps://www.python.org/ftp/python/3.8.2/Python-3.8.2.tgz 创建目录mkdir-p/usr/local/python3解压tar-zxvfPython-3.8.2.tgzyuminstall gcc-yyum-yinstallzlib-develbzip2-developenssl-develncurses-develsqlit......
  • python系列教程210——嵌套lambda
    声明:在人工智能技术教学期间,不少学生向我提一些python相关的问题,所以为了让同学们掌握更多扩展知识更好地理解AI技术,我让助理负责分享这套python系列教程,希望能帮到大家!由于这套python教程不是由我所写,所以不如我的AI技术教学风趣幽默,学起来比较枯燥;但它的知识点还是讲到位的了,也值......
  • Python——并发编程
     1.系统知识     操作系统是计算机系统的核心软件之一,负责管理和控制计算机的硬件资源,以及提供各种功能和服务。操作系统包括硬件管理和资源分配等方面的功能,同时由五个主要的子系统组成:文件系统、进程调度、内存管理、网络接口和进程通信。    1.1五个子系统 ......
  • 管理员中怎么弄python
    管理员中怎么弄Python在管理员中使用Python可以带来很多便利和效率提升。管理员是一种操作系统或网络设备中的特权账户,拥有更高的权限,可以执行系统级别的任务。在管理员中使用Python可以自动化一些繁琐的操作、监控和管理系统状态、处理大量数据等。下面将介绍如何在管理员中使用P......
  • 关于Python数据可视化的直播分享主题有哪些
    Python数据可视化的直播分享主题数据可视化在数据分析和数据科学中起着重要的作用。Python是一种强大的编程语言,拥有丰富的数据可视化工具和库。在本文中,我们将介绍一些关于Python数据可视化的直播分享主题,并提供相应的代码示例。1.数据可视化基础在开始之前,让我们先了解一些数......
  • 工控的要不要学python
    工控的要不要学Python引言工业控制(Industrialcontrol)是一门涉及到控制系统、自动化和机械工程的学科。工业控制系统是用于监控和控制生产过程的系统,其中包括传感器、执行器、控制器和人机界面等组件。在过去的几十年中,工业控制系统一直采用传统的编程语言,如C、C++和ladderlog......
  • 高斯消去法python代码
    高斯消去法实现多元线性方程组求解1.流程概述高斯消去法(GaussianElimination)是一种用于求解多元线性方程组的常用方法。它通过将方程组表示为增广矩阵的形式,然后进行一系列的行变换,将增广矩阵转化为上三角矩阵,最后利用回代法求解方程组。以下是高斯消去法的流程:步骤操作......
  • 返回主页 python代码
    返回主页Python代码实现作为一名经验丰富的开发者,我非常乐意教会刚入行的小白如何实现“返回主页”的功能。在这篇文章中,我将为你详细介绍整个实现过程,并提供相关的代码示例和注释。实现步骤首先,让我们来总结一下实现“返回主页”的流程,并用表格形式展示每个步骤需要做什么。......
  • python笔记:第十一章正则表达式
    1.模块re以一定规则,快速检索文本,或是实现一些替换操作默认下,区分大小写2.常见的匹配字符表字符描述\d代表任意数字,就是阿拉伯数字0-9这些\D代表非数字的字符。与\d完全相反\w代表字母,数字,下划线。也就是a-z、A-Z、0-9、_\W跟\w相反,代表不是字母......
  • 多元三角函数梯度下降法python
    多元三角函数梯度下降法梯度下降法简介梯度下降法是一种常用的优化算法,用于求解函数的最小值。它通过迭代地更新参数的值来逐步接近最优解。梯度下降法的核心思想是利用函数的梯度信息,即函数在当前点的导数值,来指导参数的更新方向。多元三角函数多元三角函数是指包含多个三角函......