Python爬虫基础:千叶网4K高清壁纸批量下载,电脑桌面做到一天一换

目录

前言

开发环境

代码流程

代码实现

1、导入相关库

2、发送请求

3、解析网页,获取图片详情页地址 

4、获取高清4K原图地址

5、向图片链接发送请求,保存壁纸

例外


前言

开发环境

操作系统:win 10

编辑器:pycharm专业版

语言及版本:python 3.8

使用的库:requests、os、parsel

代码流程

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

代码实现

1、导入相关库

import requests
import parsel
import os

2、发送请求

此次请求的目标网址是千叶网上的4K动漫壁纸,4k动漫壁纸_4k动漫图片-千叶网

url = 'http://qianye88.com/cate12/'
response = requests.get(url=url)
print(response)

返回<Response [200]>代表对网址请求成功,到这就已经成功一半了。就问你惊不惊喜,有木有jio得嘎嘎简单!!!

3、解析网页,获取图片详情页地址 

按下键盘F12打开开发者工具,点击图片会跳转。可以看到这边包括有图片详情页地址以及壁纸标题。可以使用parsel库解析我们需要的数据内容

sel = parsel.Selector(response)
divs = sel.xpath('//div[@class="flex-images auto mt"]/div')
for div in divs:
    href = 'http://qianye88.com/' + div.xpath('.//a[1]/@href').get()
    title = div.xpath('.//a[1]/@title').get()
    print(title, href)

这样就可以得到我们需要的壁纸的详情页啦~

4、获取高清4K原图地址

以第一张鬼刀壁纸为例。同上操作,我们可以看到这边的src地址就是我们需要的图片资源。到这里寻找原链接的过程基本就实现啦~

resp = requests.get(url=href).text
se = parsel.Selector(resp)
src = se.xpath('//div[@class="content-left layout fl"]/img/@src').get()

5、向图片链接发送请求,保存壁纸

模拟浏览器: 
response.text 获取响应文本数据
response.json() 获取响应json字典数据
response.content 获取响应二进制数据
我们使用requests.get()方法向指定的url发送get请求,并获取到响应的内容

content = requests.get(url=src).content
with open('千叶网\\' + title + '.jpg', mode='wb') as f:
    f.write(content)
print('保存成功:', title)

这样就基本实现壁纸自由啦~

其实还可以做到多页爬取的,等后续熟悉再去自行探索吧哈哈哈

例外

可能会出现显示文件夹不存在的报错,那是因为我新建了一个叫千叶网的文件夹并把所有图片都保存在该目录下面,只要在前面加上下面这段代码就可以解决这个问题了。

if not os.path.exists('千叶网\\'):
    os.mkdir('千叶网\\')

  • 25
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

到点就困告

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值