python整活时间到——27行代码一键获取写真集~~~
嗨害大家好鸭!我是爱摸鱼的芝士❤
来吧,直接整活~
先准备一下
首先咱们需要安装一下这两个第三方模块
requests >>>
parsel >>>
不会安装的小伙伴,键盘按住win+r 在弹出来的运行框 输入cmd 按确定,然后弹出黑色的框框,即命令提示符窗口,输入上面的注释 ,然后按回车即可安装成功。
我们继续
实现步骤
第一步:找数据对应的链接地址
第二步:python代码发送指定地址的请求
第三步:数据解析(筛选 过滤咱们需要的数据)
解析了每一个相册地址之后
- a 创建每一个相册的文件夹
- b 请求每一个相册详情页
(1) 发送请求
(2) 解析数据 提取图片链接
(3) 依次请求图片
第四步:保存数据
代码部分
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}')selector = parsel.Selector(response.text)lis = selector.xpath("//ul[@class='b2_gap ']/li")for li in lis:title = li.xpath('.//h2/a/text()').get()print(f'-------------正在爬取{title}-------------')if not os.path.exists('./img/'+title):os.mkdir('./img/'+title)href = li.xpath('.//h2/a/@href').get()data_html = requests.get(href).textselector_2 = parsel.Selector(data_html)img_p = selector_2.xpath('//div[@class="entry-content"]/p')for img in img_p:img_list = img_p.xpath('.//img/@src').getall()for img_1 in img_list:try:img_data = requests.get(img_1).contentexcept:continueimg_name = img_1.split('/')[-1]with open(f'img\\\\{title}\\\\{img_name}', mode='wb') as f:f.write(img_data)print('下载完成:', img_name)