您的位置:首页 >新闻资讯 > 正文

学好JAVA爬虫要先懂得这两点

来源:互联网 作者:admin 时间:2019-11-08 14:46:17

  想要学好JAVA爬虫,需要做什么准备?需要学习什么知识?如果你对网络爬虫感兴趣,ET代理建议大家要先学习这两点,一是分析HTTP请求,二是解析HTML页面。


  1、学会分析 Http 请求


  我们每一次与服务端的交互都是通过 Http 协议,当然也有不是 Http 协议的,这个能不能采集我就不知道啦,没有采集过,所以我们只谈论 Http 协议,在 Web 网页中分析 Http 协议还是比较简单,我们以百度检索一条新闻为例:

学好JAVA爬虫要先懂得这两点

  我们打开 F12 调试工具,点击 NetWork 查看版能查看到所有的请求,找到我们地址栏中的链接,主链接一般存在 NetWork 最上面一条链接。

学好JAVA爬虫要先懂得这两点

  在右边headers查看栏中,我们能够看到这次请求所需要的参数,在这里我们需要特别注意 Request Headers 和 Query String Parameters 这两个选项栏。


  Request Headers 表示的是该次 Http 请求所需要的请求头的参数,有一些网站会根据请求头来屏蔽爬虫,所以里面的参数还是需要了解一下的,请求头参数中大部分参数都是公用的, User-Agent 和 Cookie 这两个参数使用比较频繁, User-Agent 标识浏览器请求头,Cookie 存放的是用户登录凭证。


  Query String Parameters 表示该次 Http 请求的请求参数,对于post 请求来说这个还是非常重要的,因为在这里可以查看到请求参数,对我们模拟登陆等 Post 请求非常有用。


  上面是网页版的 HTTP 请求的链接分析,如果需要采集 APP 里面的数据就需要借助模拟器了,因为 APP 里没有调试工具,所以只能借助模拟器,使用较多的模拟器工具有如下:fiddler、wireshark,有兴趣的可以执行研究。


  2、学会 HTML 页面解析


  我们采集的页面都是 HTML 页面,我们需要在 HTML 页面中获取我们需要的信息,这里面就涉及到了 HTML 页面解析,也就是 DOM 节点解析,这一点是重中之重,如果你不会这一点就像魔术师没有道具一样,只能干瞪眼啦。例如下面这个 HTML 页面:

学好JAVA爬虫要先懂得这两点

  我们需要获取标题 “java user-agent 判断是否电脑访问” ,我们先通过 F12 检查元素

学好JAVA爬虫要先懂得这两点

  标题所在的 span 标签我已经在图中框出来啦,我们该如何解析这个节点信息呢?方法有千千万万,经常使用的选择器应该是 CSS 选择器 和 XPath ,如果你还不知道这两种选择器,可以点击下方链接学习了解一下:


  CSS 选择器参考手册:https://www.w3school.com.cn/cssref/css_selectors.asp


  XPath 教程:https://www.w3school.com.cn/xpath/xpath_syntax.asp


  使用 CSS 选择器解析的写法为:#wgt-ask > h1 > span


  使用 XPath 解析的写法为://span[@class="wgt-ask"]


  这样就获取到了 span 的节点,值需要取出 text 就好了,对于 CSS 选择器 和 XPath 除了自己编写之外,我们还可以借助浏览器来帮我们完成,例如 chrome 浏览器

学好JAVA爬虫要先懂得这两点

  只需要选中对应的节点,右键找到 Copy ,它提供了几种获取该节点的解析方式,具体的入上图所示,Copy selector 对应的就是 Css 选择器,Copy XPath 对应的是 XPath,这个功能还是非常有用的。


  对网站网页进行了解之后,我们就可以开始研究反爬虫策略,来补充爬虫应对知识。


相关文章内容简介