Python获取手机4K壁纸,一个入门练手的案例
  CwHRUUuZWG1N 2023年11月02日 58 0

前言

一. 数据来源分析

  1. 明确需求, 我们采集网上什么数据内容, 在什么地方
  • 分析我们想要高清原图在什么地方有
  1. 浏览器自带工具: 开发者工具 F12
  • 鼠标右键点击 插件 选择 network 刷新网页
  • 点击选择 Img 可以直接找到图片地址
  • 通过搜索分析, 可以知道, 我们想要图片原图url 就在 图片详情页网页源代码里面

二. 代码大概实现步骤

  1. 发送请求, 模拟浏览器对于 图片目录页面 发送请求
  2. 获取数据, 获取服务器返回响应数据
  3. 解析数据, 提取我们想要数据内容
  4. 发送请求, 模拟浏览器对于 图片详情页url 发送请求
  5. 获取数据, 获取服务器返回响应数据
  6. 解析数据, 提取我们想要数据内容
  7. 保存数据, 把图片保存文本文件夹

导入模块

import requests import re 

请求数据

url = f'https://m.bcoderss.com/tag/漫画/page/1/' # 模拟浏览器 --> headers 请求头 headers = { 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.0.0 Safari/537.36' } # 发送请求 response = requests.get(url=url, headers=headers) 

<Response [200]> 表示请求成功

解析数据, 提取我们想要数据内容

提取详情页url地址

img_info = re.findall('<li><a target="_blank" href="(.*?)" alt="(.*?)" title=".*?">', response.text) 

for循环遍历 把列表里面元素 一个一个提取出来

for img, title in img_info: html_data = requests.get(url=img, headers=headers).text # 提取原图url地址 img_url = re.findall('<img alt=".*?" title=".*?" src="(.*?)">', html_data)[0] 

获取二进制数据

img_content = requests.get(url=img_url).content 

替换特殊字符

img_title = title + img_url.split('/')[-1] img_title = re.sub(r'[\/:*?:<>|]', '_', img_title) 

保存数据

with opythonpen('img漫画\\' + img_title, mode='wb') as f: f.write(img_content) print(img_url, img_title) 

运行代码


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  2Fnpj8K6xSCR   2024年05月17日   104   0   0 Python
  xKQN3Agd2ZMK   2024年05月17日   73   0   0 Python
  fwjWaDlWXE4h   2024年05月17日   38   0   0 Python
  YpHJ7ITmccOD   2024年05月17日   39   0   0 Python
CwHRUUuZWG1N