Python爬虫:爬取必应壁纸(可直接运行)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Python爬虫:爬取必应壁纸(可直接运行),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2092字,纯文字阅读大概需要3分钟。
内容图文
![Python爬虫:爬取必应壁纸(可直接运行)](/upload/InfoBanner/zyjiaocheng/618/993b598922904bedb91bd673bb5e6dc5.jpg)
1、Why is bing?
必应专门的壁纸网站,每天都会更新一张高质量,漂亮到不行的图片。非常适合用来当电脑的桌面壁纸,且可以适配不同的桌面尺寸,提升你的桌面逼格。
2、code
2.1 所需要的第三方库
代码中涉及到的第三方库。
- os
- re
- requests
2.2 代码
下载运行前需更改代码中储存下载图片的路径
下载即可运行!!
#爬取必应壁纸
import os
import re
import requests
def get_one_page(url): # 解析给定url的网页源代码
headers = {'user-agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36'}
response = requests.get(url,headers = headers)
if(response.status_code == 200): # 状态码200说明返回状态正确,状态码是404,403等其他代号则说明网页请求失败
return response.text
return None
def download(url,filename): # 下载图片到本地文件夹
filepath = 'E:/vlog// '+ filename + '.jpg' # 这里的路径可以更改自己的文件夹
headers = {
'user-agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36'}
if os.path.exists(filepath): #判断图片路径是否已经存在,如果存在就不保存了
return
with open(filepath,'wb')as f: # 把图片以二进制形式写入到本地
response = requests.get(url,headers=headers)
f.write(response.content)
def parse(html): # 解析网页源代码
pattern = re.compile('data-progressive="(.*?)".*?<h3>(.*?)</h3>') # 正则表达式筛选html
items = re.findall(pattern,html)
for item in items:
try:
url = item[0].replace('640','1920').replace('480','1080') # 替换图片尺寸
#print(url)
imagename = item[1].strip()
rule = re.compile(r'[a-zA-z1-9()-/]')#[]用来表示一组字符【abc】匹配a,b,或c
imagename = rule.sub('', imagename)
download(url,imagename.strip())
print(imagename,"正在下载")
except Exception:
continue
if __name__ == '__main__':
for page in range(1,20): # 爬取页面的范围,可以随意更改
url = 'https://bing.ioliu.cn/?p='+str(page)
print("正在抓取第", page, "页" ,url)
html = get_one_page(url)
parse(html)
3、Result
运行过程
运行结果
一些说明
- 下载的有些图片显示不出来,可能是解析源代码的时候出现的小问题,但是概率很小,基本上爬取100张图片才会出现几张问题图片
- 如果需要爬取大量图片,需要设置休眠时间,防止被浏览器的反爬机制识别为爬虫从而爬取失败
内容总结
以上是互联网集市为您收集整理的Python爬虫:爬取必应壁纸(可直接运行)全部内容,希望文章能够帮你解决Python爬虫:爬取必应壁纸(可直接运行)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。