Python爬虫技术爬取必应网页好图

一、引入

不知各位开发者们有没有发现:在微软必应网页中每天都会更新出好看的图片呢?

是的,这些图片是专业摄影师在现场拍摄得来的,当然好看啦!

(图片来源于微软必应网站)

而你每次下载这些图片时是否觉得很麻烦呢?别担心,我这就教你解决的办法!

在这期博文,我将会带各位学习Python爬虫技术,用来爬取必应网页好图!

二、教学

这里的注释非常详细,看它就能学会,有什么不会的欢迎可以加我QQ ( 3476845984 ) 答疑哦!

参考代码:

# 导入requests库,这是一个用于发送HTTP请求的Python库  
import requests   
  
# 指定Bing网站的链接  
bing_url = 'https://cn.bing.com'   
  
# 构造Bing每日背景图片的API链接  
api_url = bing_url + '/HPImageArchive.aspx?format=js&idx=0&n=8'   
  
# 定义函数get_image_list,用于从Bing API获取图片列表  
def get_image_list():   
    # 初始化一个空列表来存储图片URL  
    image_urls = []  
  
    # 发送GET请求到Bing API  
    response = requests.get(api_url)  
      
    # 解析返回的JSON数据  
    json_data = response.json()  
  
    # 从JSON数据中提取图片信息,并返回  
    return json_data['images']  
  
# 定义函数get_images,用于从图片列表中获取图片的详细内容  
def get_images(image_list):   
    # 初始化一个空列表来存储图片内容和相关数据  
    images = []  
      
    # 遍历图片列表  
    for image_data in image_list:  
        # 构造完整的图片URL  
        image_url = bing_url + image_data['url']  
          
        # 发送GET请求到图片URL  
        response = requests.get(image_url)  
          
        # 获取图片内容  
        image_content = response.content  
          
        # 构造一个字典,包含图片内容和图片的其他相关数据(如结束日期)  
        image = {  
            'content':image_content,  
            'data':image_data['enddate']  
        }  
  
        # 将图片添加到列表中  
        images.append(image)  
  
    # 返回包含图片内容和相关数据的列表  
    return images  
  
# 定义函数save_images,用于保存图片到本地  
def save_images(images):   
    # 初始化一个空列表来存储保存的图片文件路径  
    images_files = []  
      
    # 遍历图片列表  
    for nth, image in enumerate(images, start=1):  
        # 构造图片保存的文件名,这里使用图片的结束日期作为文件名  
        image_path = '%s.jpg' % image['data']  
          
        # 打开文件,准备写入图片内容  
        with open(image_path,'wb') as f:  
            f.write(image['content'])  
  
        # 将保存的图片文件路径添加到列表中  
        images_files.append(image_path)  
  
    # 返回包含所有保存图片文件路径的列表  
    return images_files  
  
# 定义函数download_bing_images,用于下载Bing的每日背景图片  
def download_bing_images():   
    # 调用上述函数,首先获取图片列表  
    image_list = get_image_list()  
    # 然后获取图片的详细内容  
    images = get_images(image_list)  
    # 最后保存图片到本地  
    return save_images(images)  
  
# 调用download_bing_images函数,并打印保存的图片文件路径  
print(download_bing_images())

 将代码复制并粘贴到编辑器里,然后点击运行即可将近期必应网站的好图爬取到此py文件的相同目录里辣!( 别频繁运行,否则会影响网站正常运营,要赔马内或者踩缝纫机的! )

三、相关法规

你必须仔细看完这段,否则踩缝纫机的时候千万别怪我没说哦!

在网站爬取的图片只可以自己使用,绝对不可以进行转裁哦,否则可能会侵犯网站版权!如果你使用图片的过程中存在侵权行为,那你需要承担相关法律责任,甚至是刑事责任!

那么,怎样才能确定网站的图片是否允许爬取呢?我这就与你细细道来!

几乎所有网站都会在根目录里放版权申明的文本文档,也就是名为“robots.txt”文件!

这是访问robot协议的方法:在站点url后输入“/robots.txt”,然后回车即可。 

 这样我们就可以访问网站的robot协议啦!↓

那么怎么判断robot协议表达的意思呢?这里推荐参考这篇文章哦!

python爬虫基础(十)分析Robots协议_如何查看网站爬虫协议-CSDN博客

这位看官!你要是觉得有帮助就给我三连 ( 点赞·收藏·关注 ) 吧!

  • 23
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值