我是靠谱客的博主 冷艳小海豚,最近开发中收集的这篇文章主要介绍python整活时间到——27行代码一键获取写真集~~~,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

来吧,直接整活~

请添加图片描述

先准备一下

首先咱们需要安装一下这两个第三方模块

python学习资料交流群:660193417###
requests >>>
# pip install requests
parsel
>>>
# pip install parsel

不会安装的小伙伴,键盘按住win+r 在弹出来的运行框 输入cmd 按确定,然后弹出黑色的框框,即命令提示符窗口,输入上面的注释 ,然后按回车即可安装成功。

安装失败的话,点击此处加入学习群,小姐姐手把手教你安装~
请添加图片描述
我们继续

实现步骤

第一步:找数据对应的链接地址
第二步:python代码发送指定地址的请求
第三步:数据解析(筛选 过滤咱们需要的数据)

解析了每一个相册地址之后

  • a 创建每一个相册的文件夹
  • b 请求每一个相册详情页

(1) 发送请求
(2) 解析数据 提取图片链接
(3) 依次请求图片

第四步:保存数据

代码部分

python学习资料交流群:660193417###
import requests
import parsel
# 解析数据
import os
for page in range(1, 12):
response = requests.get(f'https://www.jdlingyu.com/tag/%e8%85%bf%e6%8e%a7/page/{page}')
# <Response [200]>: 请求成功
# 静态页面的网页源代码
# 把静态页面的 字符串 变成可选的对象
selector = parsel.Selector(response.text)
# 3. 数据解析(筛选 过滤咱们需要的数据)
# re: 可以直接提取网页字符串数据
# css / xpath: 通过HTML标签进行提取
lis = selector.xpath("//ul[@class='b2_gap ']/li")
for li in lis:
# text(): 提取标签的文本内容
title = li.xpath('.//h2/a/text()').get()
print(f'-------------正在爬取{title}-------------')
# a 如果当前文件夹不存在 那么就新建一个
if not os.path.exists('./img/'+title):
os.mkdir('./img/'+title)
# 每一个相册所在的 网页地址
# 获取a标签属性内容 /@src
href = li.xpath('.//h2/a/@href').get()
# b 请求每一个相册详情页
data_html = requests.get(href).text
# 把字符串对象转变为 可选的selector对象
selector_2 = parsel.Selector(data_html)
img_p = selector_2.xpath('//div[@class="entry-content"]/p')
for img in img_p:
# (2) 解析数据 提取图片链接
img_list = img_p.xpath('.//img/@src').getall()
for img_1 in img_list:
# content: 获取二进制数据 图片 视频 音频
# 文本: text
try:
img_data = requests.get(img_1).content
# 图片文件名
except:
continue
img_name = img_1.split('/')[-1]
with open(f'img\{title}\{img_name}', mode='wb') as f:
f.write(img_data)
print('下载完成:', img_name)

效果展示

请添加图片描述

请添加图片描述

这个分类总共是12页,我就不全部展示了,大家可以自己去试试~

最后

以上就是冷艳小海豚为你收集整理的python整活时间到——27行代码一键获取写真集~~~的全部内容,希望文章能够帮你解决python整活时间到——27行代码一键获取写真集~~~所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(34)

评论列表共有 0 条评论

立即
投稿
返回
顶部