网页源代码抓取工具(一个网站抓站中遇到的奇特网站,分享思路和抓取方法)

优采云 发布时间: 2021-12-29 13:38

  网页源代码抓取工具(一个网站抓站中遇到的奇特网站,分享思路和抓取方法)

  在我们的学习过程中,我们想在打开网站的时候抓取一次数据,但并不是所有的网站都可以通过一种方式抓取数据。有的有特殊的网页结构,有的有不同的json数据包。慢慢写一些。与我在爬虫过程中遇到的奇葩网站分享爬虫的思路和方法!

  工具、目标

  工具:pycharm、python3.6 版本

  库:请求库

  目标:普世网热门图片直播页面,所有图片信息

  注意:本网站有一个流行的图片页面,其中收录

活动的相关照片。所有图片信息根据事件写入txt文件(不下载图片,以免影响服务器)!

  目标分析

  

  首先,打开如上图所示的主页。不要担心其他人。只需单击右上角。选项出现后,点击进入热图直播选项(注意:部分浏览器需要放大页面才能看到热图直播选项),进入后页面是这样的

  

  在这里,我已放大到 30%。下面是一页一页的活动现场图片。随便点击一个事件,让我们看一下页面

  

  看到页面上的图片加载这么慢,应该是动态加载的,右键查看源码,果然如此!

  

  没有任何图片信息,那我们就需要使用浏览器的页面审核工具了!我这里用的是火狐浏览器,按F12打开,然后点击网络,清除内容,刷新页面,看看加载了哪些数据。

  

  经过简单的检查,我们发现了2个数据,收录

了我们想要的数据

  

  

  一个是activity相关的信息,一个是image相关的信息,都是json格式加载的。这个很简单,通过请求就可以得到相关的URL。这时候突然想到,如果之前的多个活动页面也是动态加载的,那么是否可以通过这种方式捕获所有活动呢?来看看

  

  这个json数据收录

了页面加载的所有活动信息!没有翻页。. . 难怪加载这么慢【手动申诉】。

  

  代码

  通过上面的分析,我们了解了目标数据的位置,接下来就可以开始尝试写代码了

  

  导入requests库,然后直接请求真实的URL,得到名称和对应的URL(真实的URL在消息头中),然后在页面中构造真实的URL。上面得到的网址实际上是网页的网址,而不是网页的网址。如何获取json包所在的真实地址?我们对比一下获取到的几个页面的真实URL,不难发现其规律性。

  通过对比发现activityNo的值其实是不一样的,而且这个值也存在于上面抓到的json包中!

  

  构造下一个页面的真实请求地址,然后抓取json包获取所有图片url!至此,核心代码已经写好,完善一下,整体代码和效果如下:

  

  

  不到1分钟,这个页面上的所有活动和活动图片的url都被保存了,整体代码不到20行,一个非常简单的网站!如果要下载图片,可以把所有的url复制到下载工具,批量下载!

  

  后记

  本网站整体结构较为清晰,数据易于获取。今天之所以用这个网站来分享,是因为当我开始抓包的时候,我简直不敢相信。一页之间加载了400多张图片。. . . 而且看页面结构,没想到这么简单!

  总的来说,这个网站比较适合新手学习抓包和获取数据。希望对大家有帮助,加油!

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线