不知道大家是否对每日一成不变的壁纸感到厌倦呢?反正对于我个人来说,如果每天打开电脑映入眼帘的都是不同的画面,那么科研热情都会被充分激发,从而提高自己的劳动生产力。下面笔者给大家分享一下Python必应超清壁纸爬虫,让大家每天都能看到不一样的桌面。

本软件由吾爱大神YFAN编写,python写的爬虫更JAVA比少个JRE累赘,之前他用JAVA写的爬虫全部翻新,大家可以体验下。下面附上源码:

# Author:YFAN

# Author:YFAN

import requests

import lxml.etree

from time import sleep

import os

headers = {

"user-agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36"

#",referer": "https://www.mzitu.com/tag/ugirls/"

}

#获取页面总数

def getpage(url):

#1 请求数据

response = requests.get(url, headers=headers)

#2 整理成xml文档

xml = lxml.etree.HTML(response.text)

#3 抽取想要的element 以下是获取类名为page的div标签下的span标签体内容 获取到的内容为:1 / 99

page = xml.xpath('//div[@class="page"]/span')#

上一页1 / 99下一页

#4 通过对字符串分割操作来获取必应壁纸网页页数 str=page[0].text.split(' ')[2] return (int)(str) #遍历页面 def foreachurlpages(url,page,pages,path): i=page while i<=pages: temp=url+"?p={i}".format(i=i) print("第{page}页开始下载,当前页url:{url}".format(page=i,url=temp)) count=foreachImage(temp,path) print("第{page}页已下载完成".format(page=i)) i=i+1 if (count == 0): print("网络出现错误,第{page}页重新下载") i=i-1 os.system('cls') def foreachImage(url,path): response = requests.get(url, headers=headers) xml = lxml.etree.HTML(response.text) imgname = xml.xpath('//div[@class="description"]/h3') imgurl = xml.xpath('//div[@class="card progressive"]/img') print("当前页面有{}张壁纸".format(len(imgurl))) count = 0 for n, u in zip(imgname, imgurl): name = n.text.split(' ')[0] url = u.xpath('@src')[0] count += 1 print("第{}张壁纸 描述:{} 壁纸url:{}".format(count,name,url)) download(name,url,path) return count def download(name,url,path): response = requests.get(url, headers=headers) # 反爬虫,模拟浏览器提交 NAME="" for i in range(len(name)): if name[i] not in '/\*:"?<>|': NAME+=name[i] filename = path +'\\'+ NAME + ".jpg" with open(filename, "wb") as f: f.write(response.content) f.close() if __name__ == '__main__': url="https://bing.ioliu.cn/"#壁纸网页url pages=getpage(url)#获取页面总数,并且转换为int类型 print("壁纸总页数:{pages}".format(pages=pages))#打印必应壁纸页数 path = input("输入图片存储路径:") page=(int)(input("从第几页开始下载(1-{}):".format(pages))) if page<=0 or page>pages: print("页数不在范围内") print("3秒后退出") sleep(1) print("2秒后退出") sleep(1) print("1秒后退出") sleep(1) else: foreachurlpages(url,page,pages,path) print("下载完成") print("3秒后退出") sleep(1) print("2秒后退出") sleep(1) print("1秒后退出") sleep(1) # result=etree.tostring(page) # print(result.decode("utf-8"))

python下载图片 referer_Python必应超清壁纸爬虫下载|Python爬取必应每日图片源码 - PS下...相关推荐

  1. python手机壁纸超清_python爬虫学习之爬取5K分辨率超清唯美壁纸

    前言 Python现在非常火,语法简单而且功能强大,很多同学都想学Python!所以小的给各位看官们准备了高价值Python学习视频教程及相关电子版书籍,欢迎前来领取! 简介 壁纸的选择其实很大程度上 ...

  2. python手机壁纸超清_【原创】Python必应超清壁纸爬虫

    [Python] 纯文本查看 复制代码# Author:YFAN # Author:YFAN import requests import lxml.etree from time import sl ...

  3. python爬取图片源码_半次元图片爬取-python爬取半次元图片源码下载-西西软件下载...

    python爬取半次元图片源码,由大神自制的python爬取工具,本源码针对半次元图片平台,可以爬取最新的网站图片资源,支持自定义保存目录,非常方便,需要requests库的支持,想要相关源码资源的朋 ...

  4. python爬虫:使用scrapy框架抓取360超清壁纸(10W+超清壁纸等你来爬)

    目的:闲着无聊,利用爬虫爬取360超清壁纸,并将其数据存储至MongoDB/MySQL中,将图片下载至指定文件夹. 要求:确保以安装MongoDB或者MySQL数据库.scrapy框架也肯定必须有的: ...

  5. 【Python爬虫_8】爬取必应图片

    "' 需求:爬取必应的图片,并下载,以老师为例: '" 1.首先通过XHR找到图片的url地址,打开该地址可看到 确认链接找到正确,然后多找几个来分析,可以得到通用的url: ur ...

  6. 【python】王者荣耀全英雄高清壁纸爬虫共467M(多线程)

    文章目录 1. 成果展示 2. 单张预览 3. 软件下载 4. 壁纸下载 5. 进度打印 6. 目标网址 7. 依赖模块 8. 完整代码 9. 代码剖析 10. 打包教程 10.1. 打包前的准备 1 ...

  7. python 依据某几列累加求和_Python爬虫笔记:爬取单个页面

    前言 学习Python爬虫技术也是一件需要大量实践的事情,因为并不是所有的网站都对爬虫友好,更多的一种情况是网站为了限制爬虫不得不在最小化影响用户体验的前提下对网站访问做出一定的限制,最常见的就是一些 ...

  8. 宝藏网站!机器学习概念可视化;LeetCode面试必看清单;104个Python数据科学实战项目;必应超清壁纸;前沿论文 | ShowMeAI资讯日报

    ShowMeAI日报系列全新升级!覆盖AI人工智能 工具&框架 | 项目&代码 | 博文&分享 | 数据&资源 | 研究&论文 等方向.点击查看 历史文章列表, ...

  9. python网易云听歌时长_Python爬虫实战:爬取小姐姐最近的听歌曲目

    前言 作为网易云村的深度用户,网易云音乐应该是我除了微信外打开时间最长的 App 了.并不是应为网易云上面的歌曲多,而是因为那些走心的评论.边听歌边刷评论,感觉就像是走进了他人的人生之中,从另外一种意 ...

最新文章

  1. UIViewController、UINavigationController与UITabBarController的整合使用
  2. php多选框怎么传值,php多选框表单checkbox参数传递的问题解析
  3. idea 设置项目子模块之间的依赖
  4. js/vue 高德地图绘制驾车路线图
  5. pat 乙级 1031 查验身份证(C++)
  6. “动态规划”这词太吓人,其实可以叫“状态缓存”
  7. C++_类和对象_对象特性_This指针的用途_用来解决名称冲突_*this实现链式编程---C++语言工作笔记049
  8. java list 之详解_java集合(二)List集合之ArrayList详解
  9. deeplearning.ai——构建深度神经网络做图像处理
  10. 笔记软件对比之 思源笔记 VS Notion
  11. 在Mac上保存网页上的图片
  12. C语言如何打印扑克牌花色(红桃、梅花、黑桃、方片)
  13. 使用Unity制作一个RPG游戏(1)
  14. ​LeetCode刷题实战603:连续空余座位
  15. Nacos注册中心8-Server端(处理注册请求)
  16. CRM的“几宗秘辛”(上篇)
  17. MyBatis自动生成实体类、DAO接口和Mapping映射文件的代码(逆向工程)
  18. oracle 创建索引 CREATE INDEX
  19. 家装网线该如何选择?怎么区别好坏
  20. glog使用与说明(转载)

热门文章

  1. SCAU 1035 打印菱形图案
  2. 魔兽世界怀旧版本最新服务器,魔兽世界怀旧服1.13.3版本更新了哪些 魔兽世界怀旧服1.13.3版本更新内容汇总...
  3. XStream分析(2)
  4. 推荐一个学习Linux命令的网站
  5. ribbon服务列表和nacos服务列表不一致的问题
  6. dialog.show()不显示也不报错
  7. 艾伟:WPF中,如何将绑定源设置到单件实例
  8. 三节课产品经理P1 作业
  9. 爬取网站某网站所有通知
  10. 2021年江苏高考成绩排名查询,2021年江苏高考一分一段表查询排名方法 成绩排名位次什么时候公布...