Python 爬取必应壁纸的实例讲解


Posted in Python onFebruary 24, 2020

最近看了下python,就想着获取下bing的图片,每天定时爬取,保存到本地,可以做背景图片用。 也在网上看了一些其他的例子。就自己动手写了一个小的爬图片的python脚本。

我们进来来爬取的是必应壁纸的相关实例,代码如下:

import re
import os
import requests
from time import sleep

headers = {
  "User-Agent": ("Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:64.0) "
          "Gecko/20100101 Firefox/64.0")
}

def get_index(resolution, index=1):
  url = f"https://bing.ioliu.cn/ranking?p={index}"
  res = requests.get(url, headers=headers)
  urls = re.findall('pic=(.*?)\\.jpg', res.text)
  _old_resolution = urls[1].split("_")[-1]
  return {url.split("/")[-1].replace(_old_resolution, resolution): url.replace(_old_resolution, resolution) + ".jpg"
      for url in urls}

def download_pic(pics):
  if os.path.exists('F:\\必应壁纸'):
    pass
  else:
    os.mkdir('F:\\必应壁纸')
    print('目录创建成功')
  try:
    for pic_name, pic_url in pics.items():
      res = requests.get(pic_url, headers=headers)
      with open(f"F:\\必应壁纸\\{pic_name}.jpg", mode="wb") as f:
        f.write(res.content)
      print(f"{pic_name} 下载完成")
  except Exception as e:
    print("下载出错", e)

def input_index():
  print("必应壁纸下载工具, 本工具未经资源站授权.")
  print("仅做学习和交流之用, 随时有可能停止维护.")
  print("目前资源站收容页数为87,当前仅提供1920x1080分辨率下载")
  while True:
    sleep(0.1)
    index = input("请输入要下载的页数(Max=87):")
    try:
      if index == "Q":
        exit()
      index = 87 if int(index) > 87 else int(index)
      return index
    except ValueError:
      print("请输入数字, 或输入Q退出!")

def main():
  index = input_index()
  i = 1
  while i <= index:
    print(f"当前第{i}页,共需要下载{index}页")
    pics = get_index("1920x1080", i)
    download_pic(pics)
    i += 1
  print("下载完成,将在3秒后关闭...")
  sleep(1)
  print("2")
  sleep(1)
  print("1")
  sleep(1)
  print("0")

if __name__ == '__main__':
  main()

以上就是Python 爬取必应壁纸的实例讲解的详细内容,更多关于Python 爬取必应壁纸的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
Python实现截屏的函数
Jul 26 Python
python dict.get()和dict['key']的区别详解
Jun 30 Python
python与sqlite3实现解密chrome cookie实例代码
Jan 20 Python
Python使用正则表达式获取网页中所需要的信息
Jan 29 Python
python之验证码生成(gvcode与captcha)
Jan 02 Python
Django如何开发简单的查询接口详解
May 17 Python
python实现图片九宫格分割
Mar 07 Python
使用Fabric自动化部署Django项目的实现
Sep 27 Python
python 实现图片上传接口开发 并生成可以访问的图片url
Dec 18 Python
Python定义函数时参数有默认值问题解决
Dec 19 Python
Python 整行读取文本方法并去掉readlines换行\n操作
Sep 03 Python
Python实现双向链表
May 25 Python
Python unittest工作原理和使用过程解析
Feb 24 #Python
Python 剪绳子的多种思路实现(动态规划和贪心)
Feb 24 #Python
用python介绍4种常用的单链表翻转的方法小结
Feb 24 #Python
关于多元线性回归分析——Python&amp;SPSS
Feb 24 #Python
使用 pytorch 创建神经网络拟合sin函数的实现
Feb 24 #Python
sklearn+python:线性回归案例
Feb 24 #Python
深入理解Tensorflow中的masking和padding
Feb 24 #Python
You might like
使用PHP维护文件系统
2006/10/09 PHP
PHP处理CSV表格文件的常用操作方法总结
2016/07/01 PHP
PHP有序表查找之二分查找(折半查找)算法示例
2018/02/09 PHP
Javascript 两个窗体之间传值实现代码
2009/09/25 Javascript
浅谈javascript的数据类型检测
2010/07/10 Javascript
密码强度检测效果实现原理与代码
2013/01/04 Javascript
jquery formValidator插件ajax验证 内容不做任何修改再离开提示错误的bug解决方法
2013/01/04 Javascript
JS+DIV实现鼠标划过切换层效果的实例代码
2013/11/26 Javascript
一个不错的仿携程自定义数据下拉选择select
2014/09/01 Javascript
js根据鼠标移动速度背景图片自动旋转的方法
2015/02/28 Javascript
javascript实现表单提交后,提交按钮不可用的方法
2015/04/18 Javascript
不能不知道的10个angularjs英文学习网站
2016/03/23 Javascript
jQuery DataTables插件自定义Ajax分页实例解析
2020/04/28 Javascript
js获取当前时间(昨天、今天、明天)
2016/11/23 Javascript
VUE.js实现动态设置输入框disabled属性
2019/10/28 Javascript
15分钟学会vue项目改造成SSR(小白教程)
2019/12/17 Javascript
mpvue网易云短信接口实现小程序短信登录的示例代码
2020/04/03 Javascript
[03:27]最受玩家喜爱奖提名:PZH_Element 致玩家寄语
2016/12/20 DOTA
深入解析Python中的线程同步方法
2016/06/14 Python
浅谈Python类里的__init__方法函数,Python类的构造函数
2016/12/10 Python
WINDOWS 同时安装 python2 python3 后 pip 错误的解决方法
2017/03/16 Python
python 3.5下xadmin的使用及修复源码bug
2017/05/10 Python
python 获取微信好友列表的方法(微信web)
2019/02/21 Python
用Python写一个模拟qq聊天小程序的代码实例
2019/03/06 Python
Python代码一键转Jar包及Java调用Python新姿势
2020/03/10 Python
关于Python turtle库使用时坐标的确定方法
2020/03/19 Python
python 发送邮件的示例代码(Python2/3都可以直接使用)
2020/12/03 Python
意大利香水和化妆品购物网站:Parfimo.it
2019/10/06 全球购物
土木工程建筑专业毕业生求职信
2013/10/21 职场文书
实习求职信
2013/12/01 职场文书
学校党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
七年级英语教学反思
2016/02/15 职场文书
初中地理教学反思
2016/02/19 职场文书
浅谈MySQL user权限表
2021/06/18 MySQL
漫画「处刑少女的生存之道」第3卷封面公开
2022/03/21 日漫
关于python3 opencv 图像二值化的问题(cv2.adaptiveThreshold函数)
2022/04/04 Python