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压缩解压缩zip文件及破解zip文件密码的方法
Nov 04 Python
Python遍历pandas数据方法总结
Feb 09 Python
python创建文件备份的脚本
Sep 11 Python
python 划分数据集为训练集和测试集的方法
Dec 11 Python
用Pelican搭建一个极简静态博客系统过程解析
Aug 22 Python
python实现的config文件读写功能示例
Sep 24 Python
Python 图像对比度增强的几种方法(小结)
Sep 25 Python
使用 Python 遍历目录树的方法
Feb 29 Python
使用python创建Excel工作簿及工作表过程图解
May 27 Python
Python 日期与时间转换的方法
Aug 01 Python
Python numpy大矩阵运算内存不足如何解决
Nov 19 Python
python实现图片批量压缩
Apr 24 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中get_headers函数的作用及用法的详细介绍
2013/04/27 PHP
PHP return语句另类用法不止是在函数中
2014/09/17 PHP
php编写批量生成不重复的卡号密码代码
2015/05/14 PHP
php解决安全问题的方法实例
2019/09/19 PHP
Jquery优化效率 提升性能解决方案
2010/09/06 Javascript
JavaScript中常用的六种互动方法示例
2015/03/13 Javascript
Javascript中this关键字的一些小知识
2015/03/15 Javascript
JavaScript生成福利彩票双色球号码
2015/05/15 Javascript
Jquery easyui开启行编辑模式增删改操作
2016/01/14 Javascript
js实现拖拽功能
2017/03/01 Javascript
JS和canvas实现俄罗斯方块
2017/03/14 Javascript
Vue.js学习笔记之修饰符详解
2017/07/25 Javascript
最后说说Vue2 SSR 的 Cookies 问题
2018/05/25 Javascript
微信小程序实现默认第一个选中变色效果
2018/07/17 Javascript
nodejs中用npm初始化来创建package.json的实例讲解
2018/10/10 NodeJs
javascript中关于类型判断的一些疑惑小结
2018/10/14 Javascript
JS实现集合的交集、补集、差集、去重运算示例【ES5与ES6写法】
2019/02/18 Javascript
JavaScript面向对象编程小游戏---贪吃蛇代码实例
2019/05/15 Javascript
Vue-cli3.X使用px2 rem遇到的问题及解决方法
2019/08/08 Javascript
vscode中eslint插件的配置(prettier配置无效)
2019/09/10 Javascript
vue实现短信验证码登录功能(流程详解)
2019/12/10 Javascript
JavaScript交换变量的常用方法小结【4种方法】
2020/05/07 Javascript
如何在vue中使用video.js播放m3u8格式的视频
2021/02/01 Vue.js
Python数据结构与算法之图结构(Graph)实例分析
2017/09/05 Python
Python实现字符串反转的常用方法分析【4种方法】
2017/09/30 Python
Django 2.0版本的新特性抢先看!
2018/01/05 Python
Python线性回归实战分析
2018/02/01 Python
Python3 读、写Excel文件的操作方法
2018/10/20 Python
Python GUI编程 文本弹窗的实例
2019/06/11 Python
django重新生成数据库中的某张表方法
2019/08/28 Python
python zip()函数使用方法解析
2019/10/31 Python
《商鞅南门立木》教学反思
2014/02/16 职场文书
护士毕业实习感言
2014/03/05 职场文书
2014年教育培训工作总结
2014/12/08 职场文书
2016年幼儿园教师师德承诺书
2016/03/25 职场文书
忆童年!用Python实现愤怒的小鸟游戏
2021/06/07 Python