使用Python第三方库requests和bs4 爬取必应首页的图片,并存储到系统对应位置

使用requests库爬取bing首页的图片

必应首页每天都会更新一张美丽的照片,那么怎么用爬虫爬取这些图片呢
附 必应url:“https://cn.bing.com”

首先查看bing源代码,找到对应图片的链接

进入bing首页,鼠标右击后点击检查
或者(F12进入开发者面板)
ps:个人认为鼠标右击效率更高一些,可以直接找到图片链接的所在位置

找到的HTML如下:

<div id="bgImgProgLoad" data-ultra-definition-src="/th?id=OHR.QingmingCandle2020_ZH-CN2729283235_UHD.jpg&amp;rf=LaDigue_UHD.jpg&amp;pid=hp&amp;w=1920&amp;h=1080&amp;rs=1&amp;c=4" data-explicit-bing-load="false" data-dynamic-size="true"></div>

分析这个div标签

id值:bgImgProgLoad(这个属性可以帮助我们迅速定位到该标签)
属性1:data-ultra-definition-src(值为我们要找的图片链接)
其他属性:没有价值,忽略掉

开始写python程序

首先导入我们需要的第三方库
requests
功能:模拟请求
函数:requests.get(url,headers)
属性值:
url(发起请求的url连接)
headers(设置请求头)
返回值:一个response对象
使用方法:
resp = requests.get(url=“我们的url”,headers=“我们设置的请求头”)

bs4
功能:建立一个类似于DOM树的结构,其提供的接口可以帮助我们迅速定位到我们要找的标签
函数:bs4.BeautifulSoup(html,features)
属性值:
html:要解析的内容
features:设置解析器
返回值:一个BeautifulSoup对象
使用方法:
soup = bs4.BeautifulSoup(html, features=“lxml”)

代码实现

import requests
import bs4
url = "https://cn.bing.com/"
# 设置请求头
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36"}
# 发起请求
r = requests.get(url=url, headers=headers)
html = r.text
# 解析获取的html
soup = bs4.BeautifulSoup(html, features="lxml")
# 寻找对应id的标签
img_div = soup.find(name="div", id="bgImgProgLoad")
# 可以使用   标签对象["标签属性"]  的方式获取属性值
# 在这里我们需要做一个简单的字符拼接,来形成完整的url链接
utl2 = "https://cn.bing.com/" + img_div["data-ultra-definition-src"]
# 最后,将得到的img图片存储到文件当中
# ps:获取图片的方式为  r2.content   r2就是我们使用requests中get方法获取的response对象
with open("jpg1.jpg", 'wb') as j:
    r2 = requests.get(url=utl2, headers=headers)
    j.write(r2.content)
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值