这是一个免费下载图片的网站https://pixabay.com


这个网站有很多免费下载的图片我比较喜欢,一张一张下载我也懒得戳鼠标,所以我先搜索到我喜欢的图片分类,然后发现在doc里面的html文件找不到图片链接,于是判断图片是通过ajax加载上的,又去找xhr,终于在里面发现了所有的requests url跟正常网站的不一样

分析链接https://pixabay.com/zh/photos/hp=&image_type=&cat=&min_width=&min_height=&q=%E8%87%AA%E7%84%B6%E9%A3%8E%E5%85%89&order=popular,?后面的是我搜索的关键词,于是我就拿着这个当请求url试了一下,惊奇的发现这竟然就是图片链接所在的响应界面,这下被我找到了,于是我就把所有img标签的src拿出来正当我暗自庆幸拿到图片链接的时候,往下瞄了一眼发现不大对,只有前几个正常,后面全是假的数据!!!

我又跳过前面几条数据,从后面发现原来真正的数据不再src里,而是在data-lazy和data-lazy-srcset里面

于是我就修改了一下总算找到了真正的数据,把所有链接提取出来,然后把图片保存到自己想存的地方就可以了,大功告成

贴代码

import requests
import json
import os
from bs4 import BeautifulSoup
import http.cookiejar as cookielib  class pic_spyder(object):def __init__(self,url,header,data,proxies):self.url=urlself.headers=headerself.data=dataself.session=requests.session()self.proxies=proxiesdef connect_get(self):self.session.cookies=cookielib.LWPCookieJar(filename='pic_cookies')if not os.path.exists('pic_cookies'):self.r=self.session.get(self.url,headers=self.header,params=self.data)self.session.cookies.save(ignore_discard=True,ignore_expires=True)else:self.session.cookies.load(ignore_discard=True)print('cookies login')if(self.data == None):self.r=self.session.get(self.url,headers=self.headers)else:self.r=self.session.get(self.url,headers=self.headers,params=self.data)   return self.r   def get_data(self,r):self.soup=BeautifulSoup(r,'lxml')return self.soupurl='https://pixabay.com/zh/photos/?hp=&image_type=&cat=&min_width=&min_height=&q=%E8%87%AA%E7%84%B6%E9%A3%8E%E5%85%89&order=popular'
header={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36'
}
proxies = { "http": "http://121.232.144.186:9000","https": "http://121.232.144.186:9000"}
spyder=pic_spyder(url,header,None,proxies)
r=spyder.connect_get()
soup=spyder.get_data(r.text)
list=[d.get('data-lazy') for d in soup.select('img')[6:]]
print(list)

python小爬虫—抓取pixabay网站的图片资源相关推荐

  1. python展示全部好友_利用Python网络爬虫抓取微信好友的签名及其可视化展示

    前几天给大家分享了如何利用Python词云和wordart可视化工具对朋友圈数据进行可视化,利用Python网络爬虫抓取微信好友数量以及微信好友的男女比例,以及利用Python网络爬虫抓取微信好友的所 ...

  2. python爬虫微信朋友圈怎么发文字_如何利用Python网络爬虫抓取微信朋友圈的动态(上)...

    今天小编给大家分享一下如何利用Python网络爬虫抓取微信朋友圈的动态信息,实际上如果单独的去爬取朋友圈的话,难度会非常大,因为微信没有提供向网易云音乐这样的API接口,所以很容易找不到门.不过不要慌 ...

  3. python爬虫好友聊天记录_利用Python网络爬虫抓取微信好友的签名及其可视化展示...

    前几天给大家分享了如何利用Python词云和wordart可视化工具对朋友圈数据进行可视化,利用Python网络爬虫抓取微信好友数量以及微信好友的男女比例,以及利用Python网络爬虫抓取微信好友的所 ...

  4. python抓取微信朋友圈动态_2018最全如何利用Python网络爬虫抓取微信朋友圈的动态...

    今天小编给大家分享一下如何利用Python网络爬虫抓取微信朋友圈的动态信息,实际上如果单独的去爬取朋友圈的话,难度会非常大,因为微信没有提供向网易云音乐这样的API接口,所以很容易找不到门.不过不要慌 ...

  5. python爬虫能爬取微信密码吗_如何利用Python网络爬虫抓取微信好友数量以及微信好友的男女比例...

    今天我们继续focus on微信,不过这次给大家带来的是利用Python网络爬虫抓取微信好友总数量和微信好友男女性别的分布情况.代码实现蛮简单的,具体的教程如下. 相信大家都知道,直接通过网页抓取微信 ...

  6. 2018最全如何利用Python网络爬虫抓取微信朋友圈的动态

    今天小编给大家分享一下如何利用Python网络爬虫抓取微信朋友圈的动态信息,实际上如果单独的去爬取朋友圈的话,难度会非常大,因为微信没有提供向网易云音乐这样的API接口,所以很容易找不到门.不过不要慌 ...

  7. 如何利用Python网络爬虫抓取微信朋友圈的动态(上)

    今天小编给大家分享一下如何利用Python网络爬虫抓取微信朋友圈的动态信息,实际上如果单独的去爬取朋友圈的话,难度会非常大,因为微信没有提供向网易云音乐这样的API接口,所以很容易找不到门.不过不要慌 ...

  8. python爬虫好友图片_利用Python网络爬虫抓取微信好友的签名及其可视化展示

    前几天给大家分享了如何利用Python词云和wordart可视化工具对朋友圈数据进行可视化,利用Python网络爬虫抓取微信好友数量以及微信好友的男女比例,以及利用Python网络爬虫抓取微信好友的所 ...

  9. python搞笑动态图_python小爬虫抓取搞笑图片

    大部分小程序都是基于py2.7的,我于是便想直接出一个py3.4最新版本的教程.大致看一下第一篇了解一下的一些概念性的东西以及bs4第三方库的使用.请参考文末. 我们的第一个小程序的相关要求: 目标: ...

最新文章

  1. 预训练模型ProphetNet:根据未来文本信息进行自然语言生成
  2. codeforces Gargari and Permutations(DAG+BFS)
  3. 华为自研搜索引擎曝光:「花瓣」虽小,但要替代谷歌
  4. Java当中的IO一
  5. android-DNS服务找不到
  6. shiro学习(13):springMVC结合shiro完成认证
  7. python创建空元组_用Python创建空元组
  8. Linux环境下的JFreeChart中文乱码问题解决办法
  9. html5 标签大写还是小写,html5中有没有规定字母标签是用大写还是小写?
  10. Linux之MySQL源码编译安装
  11. nginx 安装_Nginx 安装
  12. Oracle 索引详解(index)
  13. 使用IDEA搭建SSM项目
  14. 用Unison实现数据的双向实时同步
  15. 志愿人生——带给你每一次温暖
  16. 算是我看源码时的一个小技巧吧~
  17. html做相册浏览,ul结合CSS制作网页相册滑动浏览效果
  18. 手把手教你学PowerBI数据分析:制作客户分析报告
  19. P4208 [JSOI2008]最小生成树计数
  20. catflag Crypto KeyBoard

热门文章

  1. 力扣 面试题 17.09. 第 k 个数
  2. hadoop常用命令及端口
  3. Java(老白再次入门) - 多线程
  4. PHP多文字,二维码(动态、非动态)生成海报方式
  5. 《Spring实战》读书笔记-第4章 面向切面的Spring
  6. proguard 不混淆方法名_Proguard 常用规则
  7. 小米 11 的重点,和充电器无关
  8. windows11右下角小地球,可以正常上网,但显示无法访问internet
  9. oracle基础--建库建表
  10. 万众瞩目!ICF5国产开源飞控推出,为国内无人系统发力