IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 爬取手机壁纸 -> 正文阅读

[Python知识库]爬取手机壁纸

爬取手机壁纸

1. 准备工作

1.1 环境

python3.9

1.2 用到的库

requests、re

1.3 爬虫的过程分析

当人类去访问一个网页时,是如何进行的?
  ①打开浏览器,输入要访问的网址,发起请求。
  ②等待服务器返回数据,通过浏览器加载网页。
  ③从网页中找到自己需要的数据(文本、图片、文件等等)。
  ④保存自己需要的数据。

对于爬虫,也是类似的。它模仿人类请求网页的过程,但是又稍有不同。
  首先,对应于上面的①和②步骤,我们要利用python实现请求一个网页的功能。
  其次,对应于上面的③步骤,我们要利用python实现解析请求到的网页的功能。
  最后,对于上面的④步骤,我们要利用python实现保存数据的功能。
  因为是讲一个简单的爬虫嘛,所以一些其他的复杂操作这里就不说了。下面,针对上面几个功能,逐一进行分析。

2. Python如何请求网页?

2.1 requests库

安装requests库

通过python自带的库pip下载requests库

pip install requests -i	https://pypi.tuna.tsinghua.edu.cn/simple	#-i 设置下载源

在这里插入图片描述

2.1.2 测试是否安装成功

在命令行中输入python,敲击回车,进入python交互环境。在里面输入以下代码并回车:

import requests

在这里插入图片描述

3. 开始吧

3.1 将我们用到的库引入一下

import requests
import re

3.2 使用requests请求网页

url = "https://www.3gbizhi.com/tag/dongman/1.html"	#网站地址
resp = requests.get(url)	#请求网页
print(resp.text)	#输出获取的网页源码

3.3 使用re进行正则表达式过滤获取子页面

obj = re.compile(r'https://www.3gbizhi.com/wallDM/.*.html',re.S)	#正则匹配
url_list = obj.finditer(resp.text)	#找出所有符合标准的的内容

利用for循环提取出网页中的所有url

for i in url_list:
	page_url = i.group()
    print(page_url)		#输出匹配到的内容

3.4 再次请求网页的子页面

resp2 = requests.get(page_url)		#请求子页面
print(resp2.text)				   #输出网页源码

使用正则匹配出他的图片名和图片地址

obj2 = re.compile(r'<title>(?P<img_name>.*?)</title>') # 图片名字
for i in obj2.finditer(resp2.text)
	file_name = i.group("img_name")
obj3 = re.compile(r'<div class="morew">.*?<a href="(?P<url>.*?)"',re.S)	#图片地址
for i in obj3.finditer(resp2.text)
	img_url = i.group("url")

3.5 最后请求图片地址然后保存到文件夹就完成了

resp3 = requests.get(img_url)
with open("Images/"+file_name+".jpg","wb")as f:
        f.write(resp3.content)
        f.close()
        print(f"第{file_name}张照片完成")

3.6 成果图

在这里插入图片描述

在这里插入图片描述

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-10-23 12:25:47  更:2021-10-23 12:28:53 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/29 11:52:52-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计