今天突然想换壁纸,在网上找了一圈没有找到满意的,正好学了爬虫,于是我就想把它们全都爬取下来,慢慢挑选。
这次爬取的目标是:彼岸图网动漫壁纸

接下来,我将详细讲解爬取过程:
首先点开网站,右键–检查 观察源码信息:


可以发现图片地址就是网站的域名加上上面的地址,接下来就是敲代码的事了。

观察可以发现图片总共134页:

但为了保证代码实用性,因为今天134页,明天就有可能135,甚至136页,所以首先提取壁纸页数,代码如下:

# 启始urlurl = 'http://pic.netbian.com/4kdongman/'req = requests.get(url, headers=headers)html = req.content.decode('gbk')# print(html)tree = etree.HTML(html)# 提取壁纸页数num = tree.xpath('//div[@class="page"]/a[last() - 1]/text()')[0]

接下来,得到所有页数的url:

    for i in range(int(num)):# 创建目录用于下载path = 'F:\\图片文件\\高清壁纸\\第{}页\\'.format(i + 1)if not os.path.exists(path):os.makedirs(path)# 改变当前工作目录os.chdir(path)print('----------第{}页---------正在下载-----'.format(i + 1))img_url = url + 'index_{}.html'.format(i + 1)if i == 0:img_url = url# print(img_url)

这样就可以对每一页的url请求得到每一张图片的url:

r = requests.get(img_url, headers=headers)html = r.content.decode('gbk')tree = etree.HTML(html)# 图片链接img_list = tree.xpath('//div[@id="main"]/div[@class="slist"]/ul/li/a/img/@src')# print(img_list, len(img_list))count = 1for img in img_list:img = 'http://pic.netbian.com' + img

接下来,就是下载了。
完整代码如下:

import requests
from lxml import etree
import osheaders = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Safari/537.36',
}def download(img, count):r = requests.get(img, headers=headers)pic = r.contenttry:with open('{}.jpg'.format(count), 'wb') as f:f.write(pic)print('{}.jpg-----下载成功'.format(count))except:print('下载失败!')def get_img(img_url):r = requests.get(img_url, headers=headers)html = r.content.decode('gbk')tree = etree.HTML(html)# 图片链接img_list = tree.xpath('//div[@id="main"]/div[@class="slist"]/ul/li/a/img/@src')# print(img_list, len(img_list))count = 1for img in img_list:img = 'http://pic.netbian.com' + img# 下载图片download(img, count)count = count + 1def main():# 启始urlurl = 'http://pic.netbian.com/4kdongman/'req = requests.get(url, headers=headers)html = req.content.decode('gbk')# print(html)tree = etree.HTML(html)# 提取壁纸页数num = tree.xpath('//div[@class="page"]/a[last() - 1]/text()')[0]for i in range(int(num)):# 创建目录用于下载path = 'F:\\图片文件\\高清壁纸\\第{}页\\'.format(i + 1)if not os.path.exists(path):os.makedirs(path)# 改变当前工作目录os.chdir(path)print('----------第{}页---------正在下载-----'.format(i + 1))img_url = url + 'index_{}.html'.format(i + 1)if i == 0:img_url = url# print(img_url)# 获取图片链接get_img(img_url)if __name__ == '__main__':main()

python爬取4k高清壁纸(再也不怕没有壁纸了)相关推荐

  1. python爬取4k高清壁纸(多线程版)

    刚学了多线程,于是把上次写的博客拿出来进行改写, 原文链接:python爬取4k高清壁纸(再也不怕没有壁纸了) 爬取过程已经在上一次写过了,可以点击原文链接查看. 废话不多说,直接上多线程代码: im ...

  2. python爬取4K超清画质手机壁纸,壁纸这东西当然是越多越好啦~

    前言 手机壁纸这东西大家都很熟悉吧,相信不论谁打开手机都希望自己的壁纸是自己喜欢的图片, 但是一张壁纸用久了就会想换一张新鲜感满满的图(当然排除情有独钟的), 但挑选图片的时间总是恒久的,有时长时间的 ...

  3. Python爬取LOL高清皮肤壁纸

    Python爬取LOL高清皮肤壁纸 兴趣点: 这两天复习爬虫,CSDN上看到了一个爬取LOL皮肤的博客,哎这个有意思,看了一下他写的代码,感觉难度还可以,就结合着自己的理解写了一下 参考博客: 传送门 ...

  4. Python 网络爬虫:爬取4K高清美图

    爬取4K高清美图 这篇爬虫主要是用来爬取网站高清4K图片,这也是笔者学初学爬虫的时候最先写一个的爬虫脚本,现在回过头来重新梳理一下,也算是对从前知识的一个总结,希望对大家有所帮助! 文章目录 爬取4K ...

  5. Python爬虫从入门到精通:(9)数据解析_xpath解析2_爬取4K高清动漫图片_Python涛哥

    使用xpath爬取4K高清动漫图片名称和图片数据 爬取当前页: # 创建文件夹 存储图片 dirName = 'GirlsLib' if not os.path.exists(dirName):os. ...

  6. 全网最细------爬取4k高清大图

    本次案例将教大家免费爬取4k高清大图,即使你是爬虫新手,也可以食用本次文章实现你的免费下载梦,话不多说,先看效果 网站视图: 看到这些图片你是否怦然心动,跟着我一起看下去. 一.思路分析 首先最基本的 ...

  7. 用Python爬取wallhaven高清原图

    wallhaven高清原图爬取 第一步:整理思路 第二步:分析网址 第三步:编写代码 第一步:整理思路 首先要知道自己要干嘛,怎么干,去哪里干?要干嘛?我们要爬取图片,而且我们要原图.怎么干?这里我用 ...

  8. 如何利用 Python 爬取 LOL 高清精美壁纸?

    作者 | 阿拉斯加 来源 | 杰哥的IT之旅 一.背景介绍 随着移动端的普及出现了很多的移动 APP,应用软件也随之流行起来.最近看到英雄联盟的手游上线了,感觉还行,PC 端英雄联盟可谓是爆火的游戏, ...

  9. JSOUP爬取4K高清壁纸

    jsoup jar包 1.11.2 链接: https://pan.baidu.com/s/1pe3-r5_YB-pGEsosfRLbsA?pwd=41w5 提取码: 41w5 效果: 代码: imp ...

最新文章

  1. SAP 批次管理(Batch management)
  2. sql 算出下级销售总和_找出总和字符串
  3. KVM 介绍(6):Nova 通过 libvirt 管理 QEMU/KVM 虚机 [Nova Libvirt QEMU/KVM Domain]
  4. CISCO路由器的备份与还原(1)
  5. 教你轻松计算AOE网关键路径(转)
  6. 把自定义encoder加入ffmpeg源码
  7. app营销实训报告_数据科学实训总结(15):一睹python数据分析的真容
  8. cad沿线插入块 lisp_我有一组数有十几万个坐标点,如何利用lisp程序快速导入CAD中,并可以快速处理!...
  9. Black Hat USA 2011: Alexander Polyakov - CTO - ERPScan
  10. 计算机usb无法读取u盘启动,电脑不能识别U盘PE的解决方法
  11. 小学五年级计算机教学工作总结,小学五年级信息技术教学工作总结
  12. c语言编写图书检索系统,求C语言编写图书管理系统
  13. 威联通建立文件服务器的方法,如何管理你的威联通nas文件?这四款神应用让你效率up!up!...
  14. 物联网的coap协议
  15. 报错:RuntimeError: view size is not compatible with input tensor‘s size and stride (at least one dimen
  16. 2021-03-04 mysql in里加个参数就查不到??是JSON_EXTRACT导致的,用JSON_UNQUOTE()去掉双引号就正常了
  17. 【AWK】awk 基础用法和应用
  18. 微信小程序(WeUI框架)
  19. nestjs入门(controller,service,module)
  20. 低端键盘拆解(牛屎芯片、键盘导电膜、键盘帽、橡胶垫)

热门文章

  1. 美国iPS细胞治疗癌症最新进展
  2. 转载此文纪念在c/c++上投入的时间,没有人能永久统治这个国家,别了c/c++
  3. 使用RT-Thread Studio DIY 迷你桌面时钟(三)| 获取NTP时间(at_device软件包 + netutils软件包)
  4. 在学RTX之前的操作系统知识
  5. 如何将源生DrawerLayout满屏显示只覆盖ActionBar
  6. 信息学奥赛一本通 1374:铲雪车(snow)
  7. Matlab——多项式拟合
  8. C语言 两个整数的四则运算
  9. Unity Live2D的接入和使用
  10. 中台战略下的保险订单销售模式设计