互联网金融爬虫怎样写-第一课 p2p网贷爬虫(XPath入门)

相干教程:

手把手教你写电商爬虫-第一课 找个软柿子捏捏

手把手教你写电商爬虫-第二课 实战尚妆网分页商品收集爬虫

手把手教你写电商爬虫-第三课 实战尚妆网AJAX请求处置惩罚和内容提取

手把手教你写电商爬虫-第四课 淘宝网商品爬虫自动JS衬着

手把手教你写电商爬虫-第五课 京东商品批评爬虫 一起来应付反爬虫

东西请求:教程中主要运用到了 1、神箭手云爬虫 框架 这个是爬虫的基本,2、Chrome浏览器和Chrome的插件XpathHelper 这个用来测试Xpath写的是不是准确

基本学问: 本教程中主要用到了一些基本的js和xpath语法,假如对这两种言语不熟悉,能够提前先进修下,都很简朴。

之前写了一个电商爬虫系列的文章,简朴的给人人展现了一下爬虫从入门到进阶的途径,然则作为一个永久走在时期前沿的科技工作者,我们历来都不能住手。

在已有的效果上,所以带上你的chrome,拿起你的xpathhelper,翻开你的神箭手,让我们再次踏上交战金融数据之旅吧。(上个系列相对难一些,发起假如是初学者,先看这个系列的教程)。

《互联网金融爬虫怎样写-第一课 p2p网贷爬虫(XPath入门)》

金融数据实在是代价大,维度多,泉源广。我们究竟从那里入手呢?想来想去,就从前一段时间风云变幻的p2p网贷最先吧。

一样,我们教程的一致作风就是先找个软柿子,上来不能用力过猛,逐步造就自身的自信心,等真正仇人来的时刻,才不至于怯场畏惧。

我们先去搜刮一下p2p网站,随意找几个对照一下,选中了这个沪商财产。

《互联网金融爬虫怎样写-第一课 p2p网贷爬虫(XPath入门)》

看着如许的收益率,心动了有木有,钱包坐不住了有木有,对余额宝投出鄙夷的目光了有木有。

《互联网金融爬虫怎样写-第一课 p2p网贷爬虫(XPath入门)》

好了,闲话不说,这个系列课程吸收上个系列课程里进度太快的经验,给人人多讲一些基本的学问,这一课就连系这个实例,重点讲讲xpath的编写和用法。

起首,大致来讲,XPath是一个相对简朴的言语,甚至都不肯定能称得上是一个言语,主要用途是用来标记XML的元素途径。由于html也是一种xml,因而一般来讲,在html中抽取某个元素是经由过程XPath来做的。XPath自身和Css有着很大的相似性,一般来讲假如之前对Css有肯定的相识的话,XPath上手照样很简朴的。详细的状况我鄙人面的课程中一边写,一边诠释。

起首先肯定列表页:

http://www.hushangcaifu.com/invest/main.html

http://www.hushangcaifu.com/invest/index2.html

http://www.hushangcaifu.com/invest/index3.html

基本上能够看到列表页除了第一页之外都有规律可寻,不过看到这个效果,一般我们最好字斟句酌一下,看下第一页是不是也能够符合规律呢?

翻开 http://www.hushangcaifu.com/invest/index1.html 果真也是第一页,好了,很圆满,总结成正则表达式:

http://www\\.hushangcaifu\\.com/invest/index\\d+\\.html

再看下详情页:

http://www.hushangcaifu.com/invest/a3939.html

http://www.hushangcaifu.com/invest/a3936.html

哈哈,小菜一碟,直接化解成正则:

http://www\\.hushangcaifu\\.com/invest/a\\d{4}\\.html

好了,末了最主要的就是提取页面元素了。我们翻开详情页:

http://www.hushangcaifu.com/invest/a3870.html

《互联网金融爬虫怎样写-第一课 p2p网贷爬虫(XPath入门)》

一般来讲,我们在我们想要提取的元素上右击,点击检察元素,获得以下效果:

《互联网金融爬虫怎样写-第一课 p2p网贷爬虫(XPath入门)》

起首看到yanh1147这个元素有无全部网页唯一的class,id或许其他属性,能够看到,在这个页面中没有,那末我们就往上找,上一级的p标签也没有,我们再往上找,在上一级是一个,终究有class了,让我们祷告这个class是唯一的吧,ctrl+f翻开搜刮框,输入product-content-top-left-top,能够看到,找到了1 of 1,这个代表一共一个,这个是第一个,这就是我们愿望的效果,好了,只用找到这一级既可,我们来组织全部的xpath,一般来讲xpath我们并不会从最顶层的html最先写,由于没有必要,因而我们要运用//,这个示意不知中心有若干的层级。接着我们直接把方才找到的这个div写上去,获得这个表达式:

//div[contains(@class,"product-content-top-left-top")]

关于class属性,我们一般会运用contains如许一个函数,防备一个元素有多个class的状况,别的由于class是一个属性,因而class前面须要加上@代表挑选到该元素的一个属性。

如今我们已挑选到了我们要挑选的元素的父元素的父元素,只需我们继承往下走两层既可。

//div[contains(@class,"product-content-top-left-top")]/p/span

由于我们要挑选元素里的笔墨信息,而不是全部元素,我们须要指定是这个元素的笔墨:

//div[contains(@class,"product-content-top-left-top")]/p/span/text()

好了,如许我们就肯定了我们爬取的乞贷用户的称号,我们翻开xpathhelper考证一下有无写错:

《互联网金融爬虫怎样写-第一课 p2p网贷爬虫(XPath入门)》

圆满的效果。不过人人有的时刻也须要注重,由于有的网页不代表你在一个内容页测试胜利,在其他内容页也能胜利,最很多测几个页面才是保险的。好了,其他的抽取项就不逐一演示了,直接上末了的代码。

var configs = {

domains: ["www.hushangcaifu.com"],

scanUrls: ["http://www.hushangcaifu.com/invest/index1.html"],

contentUrlRegexes: ["http://www\\.hushangcaifu\\.com/invest/a\\d{4}\\.html"],

helperUrlRegexes: ["http://www\\.hushangcaifu\\.com/invest/index\\d+\\.html"],

fields: [

{

name: "title",

selector: "//div[contains(@class,'product-content-top-left-top')]/h3/text()",

required: true

},

{

name: "user_name",

selector: "//div[contains(@class,'product-content-top-left-top')]/p/span/text()"

},

{

name: "total_money",

selector: "//div[contains(@class,'product-content-top-left-middle')]/div[1]/h4/text()"

},

{

name: "project_time",

selector: "//div[contains(@class,'product-content-top-left-middle')]/div[2]/h4/text()"

},

{

name: "annual_return",

selector: "//div[contains(@class,'product-content-top-left-middle')]/div[3]/h4/text()"

},

{

name: "return_method",

selector: "//div[contains(@class,'product-content-top-left-middle')]/div[4]/h4/text()"

}

]

};

var crawler = new Crawler(configs);

crawler.start();

将代码粘贴到神箭手平台上既可运转。好了,看下运转效果:

《互联网金融爬虫怎样写-第一课 p2p网贷爬虫(XPath入门)》

对爬虫感兴趣的童鞋能够加qq群议论: 566855261。

    原文作者:爬虫教程
    原文地址: https://segmentfault.com/a/1190000006089348
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞