本文主要介绍下数据分析。
工具
因为我一般是用java写爬虫的(其他不怎么会,我觉得这个都没关系)
主要采用jsoup,xsoup以及衍生出来xpath。基本上都是基于dom解析,如果你觉得你不会请自主学习。
我个人原则是可以不会很多复杂写法去拿到所要的值,但是自己要会去用其他方法解析内容,效率上没有很大差别。
懒人工具
我们采用谷歌浏览器获取xpath
例如我们要去拿换肤两个字,先去定位所在位置右键,获取xpath,
然后我们粘贴出来
//*[@id="s_icons"]/a[1],这是到a标签的路径,显然是复制错了
应该打开a标签点击span标签去获取,那么我们可以得到
//*[@id="s_icons"]/a[1]/span[2],这样还不行我们要获取其中内容
//*[@id="s_icons"]/a[1]/span[2]/text()。
切记:
第一 这种方式不好,最主要还是之前说的,看请求的响应分析位置,而不是源码,这个方法之所以可以偷懒,因为数据是直接加载的,只要跟响应位置一样,就可以拿到
举个例子
浏览器:<body><a><strong><span>换肤。。。。
请求所对应的响应:<body><a><span>换肤。。。。
显然下面是正确的,strong 标签可能是js加载的
第二 定位方式不好,在写爬虫的时候标签数量的不一样会导致很多数据拿不到,所以主要是根据attribute,例如id、class、style....
举个例子
第一个页面//*[@id="s_icons"]/a[1]/span[2]
第二个页面//*[@id="s_icons"]/a[1]/span[3]
显然下2和3是不确定,用attribute更合适,但要实际分析
XPath获取技巧
- 首先,下载xpathonclick插件,猛击这里
- 安装完毕之后,打开Chrome浏览器,可以看到右上角有个“X Path” 图标。
- 在浏览器打开你的目标网页,然后点击右上角的那个图片,然后点击网标上你想要获取XPath的地方,例如某个标题
- 这时候按住F12打开JS控制台,拖到底部,可以看到一串XPath内容
- 记住,这个内容不是绝对OK的,你可能还需要做些修改,因此,你最好还是去学习下XPath语法
- 学习XPath语法的地方:猛击这里
欢迎加群313557283~