网页有静态网页和动态网页之分,静态网页就是我们平时爬取的网页,但是有些网页是动态网页来的,例如今日头条的网站就是动态的,按照静态网页的方法去抓取是不行的。所以我们要学习如何提取动态网页的信息。主要有2种方法来爬取网页:1.寻找动态网页的请求网址2.利用selenium + phantomJS模拟浏览器来抓取动态网页今天讲的是第一种方法,第二种后面再写一篇文章来讲解。(提示:来个福利:关注转发后,私聊我就可以获得python基础、python网页开发、python爬虫、机器学习、数据挖掘、深度学习等资料)今天的内容主要有方面:如何辨别静态网页和动态网页——怎样获取动态网页的真正请求网址——一个简单的动态网页抓取实例下面开始讲解:1.如何辨别静态网页和动态网页主要有两个区别:第一看网页有没有<script> </script>的语法;第二看网页中的内容有没有和<html> <body> ……</body> </html>网页框架中的内容相匹配对应。如何打开网页的语言代码呢?方法:(1)按【win+F12】就会弹出一个页面 (2)在弹出的页面中找到【Elements】,点击就可以看到网页语法代码了。静态网页识别例子讲解(以知乎网站为例):第一:静态网页一般没有<script> </script>的语法,如下图所示:第二:网页的语法代码与网页上的内容相对应,如下图所示:动态网页识别例子讲解(以今日头条网站为例):第一:动态网页肯定有<script> </script>的语法,如下图所示:动态网页的语法第二:网页的语法代码与网页上的内容不对应(找不到任何文字对应),如下图所示:找不到文字对应到这里,读者已经掌握静态和动态网站的判别了,判别网页的动态和静态就是根据上面讲解的两个方法来判别。2.怎样获取动态网页的真正请求网址(以今日头条为例):方法步骤如下:(1)按【win + F12】,找到【Network】,点击(2)找到【XHR】,点击,按【win + F5】刷新(3)左下边的【name】所对应的focus/等就是网页上的内容的存放位置,例如我们点开focus/这一项,点击【name】右边的【Preview】,然后点击中间的【data】就会弹出以下的网页的文字。发现文字的内容对应着电脑端头条最上面图示的要闻、社会、娱乐、体育、军事和明星的内容。(4)对于要爬取动态内容来说,找到动态网页的请求网址是非常重要的。方法:在【name】右边找到【headers】,点击,在下面可以看到【Request URL】,这个网址就是请求网址来的,如下图:3.一个简单的动态网页抓取实例(爬取头条热搜的标题和链接):今天教大家如何爬取一个动态网页的内容,讲一个简单、代码量少的例子来帮助初学或者还没学过的朋友快速理解并掌握。爬取下面的【pc_hot_search】头条热搜的内容:(1)实例代码如下:(2)运行结果截图:注意:笔者代码里的【测试专用】的输出是非常重要的,我们可以根据输出的结果状况来分析下一步的代码是怎样写的或者说是怎样布局的。记住笔者教会你的不是一个代码实例项目,而是要教会你该如何去分析问题,让你拥有一种潜在的编程思维。有时候你会发现你想做个项目,当你不看教程文档的时候,你无从下手,这是什么原因呢?这都是你没有这种分析和思考如何编写代码的思维造成的。今天的内容到此就结束了,喜欢的朋友关注转发一波,更多精彩内容等着你,希望今天的内容对读者有所帮助。
本文出自快速备案,转载时请注明出处及相应链接。