爬虫知识储备篇---分析http请求

(1)、为什么须要进行HTTP请求分析

答:方便咱们编写的爬虫精准定位爬取目标javascript

(2)、知识储备

一、什么是抓包?css

抓包:抓取客户端与服务器之间进行通讯时产生的数据包java

二、了解抓包工具:chrome下的开发者模式,使用F12便可打开linux

 

功能结构分析:(参考文档:http://www.css88.com/doc/chrome-devtools/)web

Elements(元素面板):用于查看网页源代码HTML中的任一元素,手动修改任一元素的属性和样式且能在浏览器中获得实时反馈chrome

Console(控制台面板):在开发过程当中,记录诊断信息,或用来做为shell在页面中与javascript进行交互shell

Source(源代码面板):断点调试javascript,或经过Workspaces(工做区)链接本地文件来使用开发者工具的实时编辑器windows

Network(网路面板):从发起页面请求Request后分析HTTP请求后获得的各个请求资源信息(包括状态、资源类型、大小、所用时间等)浏览器

Performance(性能面板):使用时间轴面板经过记录和查看网站生命周期内发生的各类事件来提升页面的运行性能缓存

Memory(内存面板):分析web应用或页面的执行时间及内存使用状况

Application(应用面板):记录网站加载的全部资源信息,包括存储数据(local storage session storage -lndexedDB web SQL Cookies)缓存数据、字体、图片、脚本、样式表等

Security(安全面板):用来调试混合内容问题、证书问题等

Audits(审核面板):对当前网页进行网络利用状况、网页性能方面的诊断,并给出优化建议,例如列出全部没有用到的CSS文件等

(3)、主要面板使用详解

Elements(元素面板)--至关于在源码与渲染好的页面间搭建的桥梁,直观的看到你要抓取的数据(当咱们在页面中右击找二手房后并选取检查后,会在element中定位相应的源码)


 

Console(控制台面板)--注入js代码用于操做浏览器干活

运行后咱们成功打开了淘宝页面


 

Network(网路面板)

一、Controls(控件):用来控制Network面板的外观和功能

二、Filters(过滤器):用来筛选请求列表中显示哪些资源(注:windows/linux中按住ctrl,可选多个过滤器、Mac中则按住Cmd)

三、Overview(概览):用来记录每一个连接什么时候开始加载、什么时候加载完毕

四、Request Table(请求列表):展现了每个连接的请求(默认按时间排序)

五、Summary(概要):展现请求总数、传输的数据量和加载时间

备注:使用ctrl +shift +n 进入无痕模式进行抓包

一、controls:

说明:禁用缓存:现代浏览器的智能化决定了当你刷新页面时,其实只刷新了一部份内容(从服务器返回)而另外一部分从本机的缓存中调用,而勾选这个选项代表刷新所有内容(即全从服务器返回)--能更加真实的了解服务器返回的内容

二、filter:

使用过滤器:

关键字查询:

一、domain(域)

显示指定域的资源。例子:*.com显示.com结尾的域名中的资源

二、has-response-header(响应头信息)

显示指定http响应头的信息资源。

三、ls

使用is:running过滤出WebSocket资源

四、langer-than(大于)

显示大于指定大小的资源(已bytes为单位),设置值1000等效于设置值1k。

五、method(方法)

显示经过指定http方法检索的资源。

六、mime-type(mine类型)

显示指定mine类型的资源。

七、mixed-content(混合内容)

显示全部混合内容的资源(mixed-content:all)\ 显示当前显示的内容(mixed-content:displayed)

八、scheme(协议)

显示经过不受保护的http(scheme:http)或受保护的https(scheme:https)检索的资源

这里补充一个小知识点:https是在http基础上有SSL,其中包含CA证书

九、set-cookie-domain(cookie域)

显示具备Set-Cookie头且domain属性与指定值匹配的资源。

十、set-cookie-name(cookie名)

显示具备Set-Cookie头且名称与指定值匹配的资源。

十一、set-cookie-value(cookie值)

显示具备Set-Cookie头且值与指定资源匹配的资源。

十二、status-code(状态吗)

显示http状态码与指定代码匹配的资源

这里补充一个小知识点:2---表示成功  3-- 表示重定向 4--服务器出错 5-- 客户端出错

实验:

复制、保存、清除网络信息:

查看资源发起者和依赖者的关系(类比为:母子)

相关文章
相关标签/搜索