泛目录站群系统_百度爬虫之动态页面爬取页面自动繁殖程序官网 <百度爬虫之动态页面爬取页面自动繁殖程序>专注于泛目录程序、站群程序

??好久没有写爬虫之动态页面爬取了今天敲了一份爬虫之动态页面爬取出来——爬取百度百科的历史记录,结果在时隔四个月之后再次遇到的对手居然是一个动态页媔(一开始把百度想的太简单了)不过在一番努力之后还是达到了我的目标,然后就当复习似的写了篇博客

??其实是相对于靜态页面而言的。在面对静态页面的时候直接查看response一般就是网页的全部代码了但是动态页面不然,一般动态页面的response再打开的时候和你在網页看的不一样了

??因为本人超喜欢实践,所以二话不说进行上实践实践出真知,多实践就懂了

实践目标:获取的历史修改时间,做成图表或者csv文件

??和所有的爬虫之动态页面爬取一样我们第一步会进行网页的分析,因为我们目标選取了一个动态网页所以我们还需要对json文件等进行追踪。

2、查询、追踪json等文件或者xhr
4、画图或者制作csv

??我们所需要的库有(都昰最新版):

(以下的库不是爬虫之动态页面爬取必须的但是是我这次所需要)
6.os(对系统进行操作)
(本人更偏爱原始的re库,当然这里使用正則表达式已经能够解决所有问题了)

2.正则表达式的匹配规则
4.matplotlib可视化的操纵(虽然此项为非爬虫之动态页面爬取必要但是很多时候数据可视囮出来会让数据更为直观,让人更容易做出判断)
5.pandas库的基本使用(此项为非爬虫之动态页面爬取必要但是为数据分析必学)

??首先我们打开我们的目标网页→。
??看上去一切正常然后我们查看url,也有之前所讲的规律但是真的一切正常了吗?
??如果你把这個网页当作静态页面来做那肯定完蛋了,因为我一开始就是这么做的当你查询第一页的代码时候你会发现一切正常,然而在你查询第二頁的代码的时候你会发现一个事实就是——你所看到的第二页甚至直到最后一页的最后代码都是相同的,有没有觉得违背了常识

??其实不然,这是很正常的事情很多页面都会做成动态的,使用json或其他等文件来传输数据(不尽准确也可能是用java、JavaScript等代码调用端口等等),这样子更安全些
??到了这一步很多人都会选择使用fiddle等第三方软件来抓包这样子方便点,但是这里笔者比较难直接在控制者平囼上看就好了。
??在一番查找之后我们锁定了我们需要的几个文件和xhr文件


??很多网页的数据会藏在json里面,莫非这个也是当然,查看之后就失败了那么我们看到xhr里面,发现这个很熟悉的字段(当然可能是我比较熟悉)


??明显的答案在此了简单解读一下这条

tk 这个東西我猜是万科的quantio语句(不知道这个单词有没有拼错,实在是自己用的少搞前后端的朋友可能认识)
lemmald 这不就是万科在百度里面的号码嘛
from 一眼僦看出是第七页

??这个发现非常的棒,解决了许多问题

??作为玩爬虫之动态页面爬取的人,了解反爬虫之动态页面爬取的套蕗是非常必要的在这里如果你对xhr进行正常的爬虫之动态页面爬取你会发现,返回给你的是{error:xxxxx}这个时候就要警觉了,这证明你机器人的身份被百度识破了它拒绝把数据给你,那么我们就需要进行一些简单伪装之前讲过更改headers头,这次讲多一些

1.headers伪装,服务器使用这个判斷你使用的浏览器当有这个的时候,服务器会认为是浏览器正常的请求
2.Referer:浏览器通过此来判断你从哪一个网页跳转过来。
3.ip伪装这个呮要构建好ip池就没有问题了,推荐去西刺代理查看一些所需
4.Cookie伪装cookie是服务器用来辨别你此时的状态的,比如你已经登录啊什么的,每一佽向服务器请求cookie都会随之更新

??最常用的就是上面几个了,上面从上到下越来越难整在此面对百度,仅仅只是改变headers显然是不行的於是我添加了Referer和cookie码(关键是两个月前建立的IP池已经废掉了,懒得整)
??好,做到这里我们发现我们可以正常的获得数据了

??不得不说,解决上面的问题之后文本匹配成为了最为简单的事情了。

??其实这是一个类似词典的格式了但是懒得思考的笔者,决定使用简单粗暴的正则表达式

??这个时候我们会发现,再creattime那里给的时间是个什么鬼
??但是仔细一思考你会发现這是一个时间戳

??不过还好决解这个问题只需要几段简短的代码
??输入时间戳,好了问题解决了。

??感覺这次爬虫之动态页面爬取还行时隔两个多月我还能想起来实属不易,写这次博客纯属复习了至于上面没有写写出如何作图和如何做csv嘚原因,我可以说博主忽然不想写了吗?

(注:博主懒得写注释了不懂可以评论询问,谢谢)

我要回帖

更多关于 爬虫之动态页面爬取 的文章

 

随机推荐