c爬虫抓取网页数据(一个网站抓站过程中遇到的奇特网站,分享思路和抓取方法)
优采云 发布时间: 2021-09-25 13:20c爬虫抓取网页数据(一个网站抓站过程中遇到的奇特网站,分享思路和抓取方法)
在我们学习的过程中,打开一个网站,想抓取一次数据,但并不是所有的网站都能以一种方式抓取数据。有的是特殊的网页结构,有的是json数据包。不一样。慢慢写一些自己在抓取网站过程中遇到的奇葩网站,分享一下思路和抓取方法!
工具、目标\
工具:pycharm、python3.6 版本
库:请求库
目标:普世网热门图片直播页面,所有图片信息
注:此网站有一个热门图片页面,其中收录活动的相关照片。根据活动情况,所有图片信息将写入txt文件(不下载图片,以免影响服务器)!
目标分析\
首先打开上图首页,点击右上角,出现选项后,点击进入热图直播选项(注意:部分浏览器需要放大页面才能看到热图直播广播选项),进入后页如下\
在这里,我已放大到 30%。下面是一页一页的活动现场图片。#价位@762459510 免费采集蟒蛇爬虫配套实操资料#点个活动,看页面\
看到页面上的图片加载这么慢,应该是动态加载的,右键查看源码,果然如此!\
没有任何图片信息,那我们就需要使用浏览器的页面审核工具了!我这里用的是火狐,按F12可以打开,然后点击网络,清除内容,刷新页面,看看加载了哪些数据。\
经过简单的检查,我们发现了2个数据收录我们想要的数据\
\
一个是activity相关的信息,一个是image相关的信息,都是json格式加载的。这个很简单,可以请求相关的URL。这时候我突然想到,如果之前的多个活动页面也是动态加载的,那么是否可以通过这种方式捕获所有活动?来看看\
在这个json数据中,收录了页面加载的所有活动信息!没有翻页。. . 难怪加载这么慢【手动申诉】。\
代码\
通过上面的分析,我们了解了目标数据的位置,接下来就可以开始尝试写代码了
导入requests库,然后直接请求真实的URL,得到名称和对应的URL(真实的URL在消息头中),然后在页面中构造真实的URL。上面得到的网址实际上是网页的网址,而不是网页的网址。如何获取json包所在的真实地址?我们对比一下获取到的几个页面的真实URL,不难发现其规律性。
通过对比发现activityNo的值其实是不一样的,而且这个值也存在于上面抓到的json包中!
构造下一个页面的真实请求地址,然后抓取json包得到所有图片url!至此,核心代码已经写好,完善一下,整体代码和效果如下:\
\
不到1分钟,这个页面上的所有活动和图片url都被保存了,整体代码不到20行,很简单的一个网站!如果要下载图片,可以把所有的url复制到下载工具,批量下载!\最后,如果你的时间不是很紧,想要快速提高,最重要的是你不怕吃苦。我建议你可以定价@762459510。那真的很好。很多人都在快速进步。你需要害怕困难。!可以去加进去看看~
后记\
这个网站的整体结构比较清晰,数据也很容易获取。今天之所以拿这个网站来分享,是因为当我开始抓包的时候,简直不敢相信,一页之间竟然加载了400多张图片。. . 而且看页面结构,没想到这么简单!
总的来说,网站更适合新手学习抓包获取数据。希望对大家有帮助,加油!