您的位置:首页 > 理论基础 > 计算机网络

python3 网络爬虫(二)利用get请求获取网页的动态加载数据

2017-07-01 15:29 771 查看
环境:python3.4

win7

框架:scrapy

接着上一篇,这一次来说说如何获取网页上动态加载的数据:

作为初学者的我们,刚开始接触爬虫一般都只会爬取一些静态内容(如何区别静态内容和动态内容,理论我们在这里就不说了,教的是一些小方法):

首先,打开谷歌浏览器,然后按F12,然后就会弹出谷歌自带的 开发者工具,在 “Elements”下先找到你需要抓取的内容;

然后,在网页可视化界面上右键,选择查看网页源代码,这个网页源代码,就是我们在按照抓取静态网页的方法抓取下这个网页所能够看到的所有东西,而开发者工具则可以看到一些我们在网页源代码中看不到的东西;

最后,对比F12我们查看到的内容和网页源代码中的内容,我们就可以初步判定哪些数据是静态加载的的,哪些数据是动态加载的。

————————— ——–分割线——————————

一般的请求方式有两种,post请求方式和get请求方式,这一篇文章里我们先来说说get请求方式。

说到get请求,这应该是一个最常用的请求了,get请求最直观的表现方式是什么? 其实我们把网址放在地址栏中打开网页,这就是get请求。

————————— ——–分割线——————————

好了,现在开始步入正题:我们先通过一个实例来讲述,在抓取某大型购物网站的商品评论时:



当我们点击1或者2 3 4的时候,都会发现网址没有丝毫变化,这就说明这些评论是通过动态加载上去的,那么我们就利用F12 下的抓包工具来尝试能不能抓到它们:(F12,然后选择“Network”),出现如下图:



接下来就是最重要的了: 在可视化界面里,我们点一下“2”这个按钮,让评论页跳到第二页,看看能不能顺利抓包:



OK,可以看出有2个gif文件,2个png文件,还有一个script文件,刚开始我们并不知道应该查看哪一个文件怎么办,好的,最笨的办法,挨个点一遍:于是乎我都点了一遍,除了script文件之外,其他都是这样的:



哈哈,接下来就算不会,那我们也只能去查看这个script文件了,看Response,发现就是一串代码,而且貌似不太方便查看? 好的,没问题,那我们试试Preview吧,结果就。。。。喜闻乐见的找到了结果:



看到没! comments 评论,大家要相信大型网站的编写者的英语绝对没问题,不会像我一样把评论起名为“pinglun”!

然后点开这个comment看看里边都是些什么东西:



好的,正是我们想要的评论,因此这个文件所在的网址就是我们需要的,那接下来我们就通过查看Headers来获取网址吧!



URL就是我们需要的网址(网址被我用马赛克涂掉了,抱歉啊各位看官,因为小弟也怕被查水表啊),状态值200表示访问成功,访问方式:GET,呼应题目,利用get请求获取网页的动态加载数据,好了,今天的教程到此结束,什么? 不会构造get请求? 那请到我的第一篇博文,寻找一个大神的爬虫教程链接~~~~

好了,本文到此结束,从头到尾没有看到任何代码,哈哈,有时候授之以鱼不如授之以渔,代码固然重要,方法也必不可少嘛,有了这些分析方法,相信大家能够快速地掌握获取动态网页内容的技巧。下一篇,我们将会来讲述利用post请求获取网页的动态加载数据~ 下次见
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息