嗨喽~大家好呀,这里是魔王呐 ❤ ~!
python更多源码/资料/解答/教程等 点击此处跳转文末名片免费获取
环境使用:
-
Python 3.10
-
Pycharm
模块使用:
- import requests >>> pip install requests
win + R 输入cmd 输入安装命令 pip install requests 安装即可
爬虫实现基本流程:
一. 数据来源分析: 从单个数据 -> 多个数据
1. 明确需求: 明确采集的网站以及数据内容
网址: huamaobizhi.com/
数据: 壁纸图片(链接地址 下载地址)
2. 抓包分析: 浏览器开发者工具
- 打开开发者工具: F12
- 刷新网页
- 找壁纸图片链接
分辨率不高: https://img3.huamaocdn.com/upload/bizhi/images-wallpaper/1000w680h/202401231326538234.jpg
- 下载地址:
请求网址: https://huamaobizhi.com/normal-download/
请求方法: POST
请求参数:
wallpaperId: 66919
二. 代码实现步骤
1. 发送请求
2. 获取数据
3. 解析数据
4. 保存数据
代码展示
导入模块
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:926207505
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
# 导入数据请求模块
import requests
模拟浏览器
headers = {
# User-Agent 用户代理, 表示浏览器基本身份信息
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36'
}
多页获取
for page in range(3, 223):
列表页面请求网址
link = f'https://huamaobizhi.com/pictures/?category=377&page={page}&orientation=0&order_by=0&time_range=0&size=0&purity=0&remember_filter=1&lang=zh-CN&request=data'
发送请求
json_data = requests.get(url=link, headers=headers).json()
键值对取值
results = json_data['results']
for循环遍历
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:926207505
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
for index in results:
# 标题
title = index['tit']
# 壁纸ID
img_id = index['id']
print(title, img_id)
请求网址 (下载图片的地址)
url = 'https://huamaobizhi.com/normal-download/'
请求参数
data = {
'wallpaperId': img_id
}
发送请求
response = requests.post(url=url, data=data, headers=headers)
获取数据: 直接获取图片二进制数据
img_content = response.content
保存数据
with open(f'img\\{title}_{img_id}.jpg', mode='wb') as f:
f.write(img_content)
尾语
最后感谢你观看我的文章呐~本次航班到这里就结束啦 🛬
希望本篇文章有对你带来帮助 🎉,有学习到一点知识~
躲起来的星星🍥也在努力发光,你也要努力加油(让我们一起努力叭)。