利用Python爬取必应壁纸
前言
一个喜欢折腾的人,长期看到桌面只有一种壁纸,就想着自己从网上爬取一些壁纸,存下来,随机切换壁纸。
本文仅供学习交流。
工具
Python3 + requests + re
Fiddler 抓包工具。
分析
必应官网好像无法使用 Ctrl + U 查看源代码和 Ctrl + Shift + I或者F12 打开控制台。
通过 Fiddler 进行抓包。
发现就这两个请求
那么可以肯定,图片的 url 肯定就在网页源代码里面。
我们可以在源代码中看到我们想要的图片 url
通过正则进行抓取即可。
import requests
import threading
import json
import re
from pprint import pprint
import timeclass Bing:def __init__(self):self.url = "https://bing.ioliu.cn/?p={}"self.headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36"}def parse_url(self, url):print("*" * 20)response = requests.get(url, headers=self.headers)return response.contentdef regular_img_name(self, img_url):ret = re.findall(r"http://h.\.ioliu.cn/bing/(.*?)\.(.*?)$", img_url, re.M | re.S)print(ret)return retdef download_imgs(self, img_list):for url in img_list:img = self.parse_url(url)time.sleep(1)print(url)strs = self.regular_img_name(url)with open("./bing/{}.{}".format(strs[0][0], strs[0][1]), "wb") as f:f.write(img)print("{} success".format(url))def regular_img_url(self, html_str):ret = re.findall(r".*?pic=(.*?)\?imageslim.*?", html_str, re.M | re.S)return retdef run(self):for i in range(1, 10):url = self.url.format(i)html_str = self.parse_url(url).decode()img_list = self.regular_img_url(html_str)print(img_list)self.download_imgs(img_list)if __name__ == "__main__":bing = Bing()bing.run()
可以改进为多线程爬虫版本~
注意:跑代码之前要在当前代码路径建立一个叫 bing 的文件夹~
总结
写完代码后发现:
必应壁纸好像提供了官方接口的~
http://cn.bing.com/HPImageArchive.aspx?idx=0&n=1
只要在解析出的 url 前面加上 http://www.bing.com
就好了。
网络爬虫的代码不一定一直可用, 代码要根据实际情况进行更改,不可一概论之!
利用Python爬取必应壁纸相关推荐
- python壁纸数据抓取软件_python应用:Python 爬取必应壁纸
Python是一种解释型脚本语言,可以应用于以下领域: web和Internet开发 科学计算和统计 人工智能 教育 桌面界面开发 软件开发 后端开发 网络爬虫 import re import os ...
- Python 爬取必应(壁纸+搜索词)
爬取必应壁纸 经常使用必应应该可以发现,其主页每天都会更新一张图片,这些图片很好看,希望每天能够下载收藏每张图片.具体请看这个网站:必应每日高清壁纸(https://bing.ioliu.cn/) 效 ...
- 用Python爬取手机壁纸,太简单了吧
用Python爬取手机壁纸,太简单了吧! 人生苦短,快学Python! 在Python爬虫的学习过程中,爬取图片几乎是每个初学者都练习过的项目,比如我们之前就分享过:如何用Python快速爬取小姐姐的 ...
- python 怎么爬桌软件数据_如何利用Python爬取并分析红岭创投的数据?
第一步:爬取数据 通过 selenium + Firefox 的无头模式将需要的数据爬取出来,代码实现不在赘述,详细步骤可查看我的上一篇图文(如何利用Python爬取网易新闻), 由于 seleniu ...
- python 翻译库本地库_利用python爬取并翻译GEO数据库
原标题:利用python爬取并翻译GEO数据库 GEO数据库是NCBI创建并维护的基因表达数据库,始于2000年,收录了世界各国研究机构提交的高通量基因表达数据,现芯片集数据量高达12万以上.想要从这 ...
- 利用python爬取东方财富网股吧评论并进行情感分析(一)
利用python爬取东方财富网股吧评论(一) python-东方财富网贴吧文本数据爬取 分享一下写论文时爬数据用到的代码,有什么问题或者改善的建议的话小伙伴们一起评论区讨论.涉及内容在前人的研究基础之 ...
- python爬取股票信息_利用Python爬取网易上证所有股票数据(代码
利用Python爬取网易上证所有股票数据(代码 发布时间:2018-04-14 17:30, 浏览次数:1261 , 标签: Python import urllib.request import r ...
- 利用python爬取豆瓣电影top250
利用python爬取豆瓣电影top250: 注:本内容只是作为个人学习记录 1.业务分析 进入网页https://movie.douban.com/top250 可以看见每部电影都呈现在眼前,点击电影 ...
- 利用python爬取丁香医生上新型肺炎数据,并下载到本地,附带经纬度信息
新增:国外疫情网站介绍 已更新:爬取国外疫情数据 已更新:新型肺炎历史数据下载 2020年3月27日补充: 制作了一个全球肺炎数据查询下载网站,效果如下: 访问地址:http://119.3.227. ...
最新文章
- usaco Preface Numbering 序言页码
- 字符串截取固定长度的方法
- 如何用TensorFlow在安卓设备上实现深度学习推断
- 一张图帮你记忆,Spring Boot 应用在启动阶段执行代码的几种方式
- MongoDB负载信息一目了然 阿里云HDM重磅发布MongoDB监控和诊断功
- 2020陕西高考全省理科最高分725、文科最高分700
- 开源项目:单行日历(CalendarView)
- kafka版本 不对问题
- selenium IE 浏览器驱动下载地方
- Oracle Study之--Oracle 11g RAC设置归档路径错误案例
- Java集合框架(一)
- 如何处理Docker错误消息:please add——insecure-registry 1
- IDEA 初次使用,记录心得
- resnet50代码_十余行代码完成迁移学习,百度PaddleHub实战解读
- python汇总json数据_python的json包位置及用法总结
- 2018数据可视分析挑战赛-二等奖作品及历年优秀作品
- Message Code 【27796】 Failed to connect to server 'hostname';port_ld': 'reason'.
- node 简繁体转换_简体繁体转换
- Python中格式化操作漂亮打印文件的读取和写入
- Linux系统下微信网页版无法登录问题(deepin-wine-for-ubuntu)
热门文章
- Microsoft Windows操作系统版本介绍
- 手机驱蚊软件测试工程师,手机驱蚊是否实用?编辑肉身亲做实测
- Java并发编程之LinkedTransferQueue阻塞队列详解
- 0.91寸 SSD1306 OLED介绍(一) --- 整体介绍/IIC时序介绍
- 2 宽度优先爬虫和带偏好的爬虫(2)
- 视频教程| 3D版切水果游戏开发实战3:切面填充
- uc浏览器和夸克浏览器哪个好
- 重磅炸弹即将推出,欢迎大家继续关注~
- 顺丰 丰桥接口 php版
- yum 安装oraclejdk_linux服务器上安装jdk的两种方法(yum+下载包)