前言

同样的,我们在写一个爬虫前要明确自己想要爬取的东西是什么,明确下载目标数据在浏览器的操作如何

对于动态网页的爬取,在网页地址不变的情况下,我们首先要明确如何获取AJAX请求

首先我们看看这个网站pexel

打开页面后再Chrome浏览器中选择“更多工具”→“开发者工具”→“Network”→XHR

1、看到Name那一栏中,找到每一次鼠标下滑浏览器发出的请求,任意点开一个请求;

2、在右侧的Headers下拉

3、找到Query String Parameter这一栏,记住这里的数据

等下用于构造请求

接下来,在脑海里明确一下下载图片的步骤

我们首先点开一张图(要获得这个图的地址)→选择下载图片→获得一个.jpeg结尾或者.png结尾的网页,最后保存图片

查看网页源代码可以发现在每一次动态生成的页面中我们就可以直接获取图的下载地址

找到它,发现前缀是"https://images.pexels.com/photos/"+jpeg或者png

这时候我们可以考虑到,首先我们先获得页面的代码

然后通过正则表达式去搜索符合条件的图片

但是后面可能会有重复的地方,在获取的list中最后再用set筛选一下即可。

明确上述思路后,接下来我们开始构建爬虫

①初始化Headers☆

这一步非常重要,不构造headers会被禁止访问= =

headers初始化代码如下,用于将爬虫伪装成浏览器请求,而请求用于出发特定的AJAX内容

②构造动态AJAX请求

根据上述截图中保存的Query String Parameter参数,我们构造request请求的时候捎上Params内容

把获取的下载图片的link保存到一个list中

③元素的筛选

一开始调试程序的时候发现获取的link中还有以png形式结尾的link,这里需要再对list进行二次筛选,保留可以下载图片的link

最后还别忘了使用set把list中重复的元素删去哦

④最后对于保存了每一张图片的下载地址的list使用urllib.request.urlretrieve把图片保存到指定路径就可以啦

*pexel一开始还对每个图片的下载地址整了反爬虫机制,所以下载也要再构造一次headers模拟浏览器^_^

这一步可以单独写成一个函数,不过我贪方便就没这么写

最后贴两张运行结果图

控制台的输出:

下载到本地的壁纸

完整代码如下:

①为了调试程序中间加了一些输出语句

②如果要粘去直接用,记得通过打开页面查看query string parameter修改23行代码的seed内容!不然可能会爬不到东西

pyquery获取不到网页完整源代码_python动态网页爬取:爬取pexel上的图片相关推荐

  1. 论文 计算机动态网页的制作,计算机动态网页设计中多元素应用网页设计论文(范文1)...

    <计算机动态网页设计中多元素应用[网页设计论文].doc>由会员分享,可免费在线阅读全文,更多与<计算机动态网页设计中多元素应用[网页设计论文]>相关文档资源请在帮帮文库(ww ...

  2. 新闻网页制作源代码_Python爬虫百度新闻标题,并且做简单的数据分析!挺简单的

    需要下载的库 我所用的python版本为: Python 3.7.4 获取新闻信息需要的库: beautifulsoup4,request,re: 信息存储需要的库(获取信息存在csv文件中): cs ...

  3. python爬取动态页面图片_python动态网页爬取:爬取pexel上的图片

    前言 同样的,我们在写一个爬虫前要明确自己想要爬取的东西是什么,明确下载目标数据在浏览器的操作如何 对于动态网页的爬取,在网页地址不变的情况下,我们首先要明确如何获取AJAX请求 首先我们看看这个网站 ...

  4. python的网页解析器_python 之网页解析器

    一.什么是网页解析器 1.网页解析器名词解释 首先让我们来了解下,什么是网页解析器,简单的说就是用来解析html网页的工具,准确的说:它是一个HTML网页信息提取工具,就是从html网页中解析提取出& ...

  5. python自带网页解析器_python 之网页解析器

    一.什么是网页解析器 1.网页解析器名词解释 首先让我们来了解下,什么是网页解析器,简单的说就是用来解析html网页的工具,准确的说:它是一个HTML网页信息提取工具,就是从html网页中解析提取出& ...

  6. 爬虫入门(三)——动态网页爬取:爬取pexel上的图片

    Pexel上有大量精美的图片,没事总想看看有什么好看的自己保存到电脑里可能会很有用 但是一个一个保存当然太麻烦了 所以不如我们写个爬虫吧(๑•̀ㅂ•́)و✧ 一开始学习爬虫的时候希望爬取pexel上的 ...

  7. 论文 计算机动态网页的制作,毕业论文 动态网页制作学习网站的设计与实现

    内容介绍 动态网页制作学习网站的设计与实现 摘要 在Internet飞速发展的今天,电子数字计算机是20世纪重大科技发明之一而互联网成为人们快速获取.发布和传递信息的重要渠道,它在人们政治.经济生活等 ...

  8. php动态网页学生作品,基于php动态网页技术的办公网站的设计

    建立一个基于php动态网页技术的网络办公平台,主要用于信息的分享与办公的直接化方便化.用户可以用此网站及时的不限地点的对自己工作任务进行了解,工作资料的下载,工作问题进行讨论. 1.课题任务 (1) ...

  9. 网页三剑客软件测试自学,动态网页制作技术实验指导书.doc

    PAGE 动态网页制作技术实验指导书 Computer Science and Technology西南科技大学(SouthWest University of Science and Technol ...

最新文章

  1. 从外部导入django模块
  2. python关联规则挖掘_Python3:文本关联规则挖掘实现案例分析
  3. memcached python客户端编写实践
  4. 使用用户自定义类型作为map的key
  5. Java最大公共子串(动态规划)
  6. 第三部分:Android 应用程序接口指南---第二节:UI---第六章 对话框
  7. 【STC15库函数上手笔记】9、硬件SPI
  8. Java中文字符所占的字节数
  9. AttributeError: module ‘urllib‘ has no attribute ‘urlopen‘错误
  10. android drawable 比例,Android中的Drawable基础与自定义Drawable
  11. 数据分析、python速成班?包就业?扒一扒数据行业黑幕
  12. Java关键字和标识符
  13. C语言打印三角形,倒三角形,打印沙漏图形
  14. SVN commit时,提示“remains in conflict”错误:
  15. Android文件管理源码
  16. 人脸检测库libfacedetection使用方法
  17. cass块参照怎么改颜色,CASS符号颜色自定义的诀窍,都在这里了!
  18. 苹果电脑怎么更换计算机模式,苹果电脑装windows7后怎么切回来_苹果电脑安装win7后如何切换...
  19. python 英语词典_使用Python的英语词典应用程序
  20. FPGA 20个例程篇:11.USB2.0接收并回复CRC16位校验

热门文章

  1. 【快讯】阿里云张建锋:数据成为经济发展的新生产要素
  2. 一行 Python 代码能实现这么多丧心病狂的功能?(代码可复制)
  3. 阿里云弹性计算负责人蒋林泉:亿级场景驱动的技术自研之路
  4. 云计算的概念 - 初识云计算知识专栏(1)
  5. Spark SQL在100TB上的自适应执行实践
  6. 计算机编程pdf百度云,计算机编程基础.pdf
  7. 加载模型图_Tensorflow ckpt模型加载时的命名映射
  8. ./mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such
  9. flowable DMN部署单独使用_06
  10. Could not load oracle/sql/converter_xcharset/lx20354.glb.