相关教程:

工具要求:教程中主要使用到了 1、神箭手云爬虫 框架 这个是爬虫的基础,2、Chrome浏览器和Chrome的插件XpathHelper 这个用来测试Xpath写的是否正确

基础知识: 本教程中主要用到了一些基础的js和xpath语法,如果对这两种语言不熟悉,可以提前先学习下,都很简单。

之前写了一个电商爬虫系列的文章,简单的给大家展示了一下爬虫从入门到进阶的路径,但是作为一个永远走在时代前沿的科技工作者,我们从来都不能停止。

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

金融数据实在是价值大,维度多,来源广。我们到底从哪里入手呢?想来想去,就从前一段时间风云变幻的p2p网贷开始吧。

同样,我们教程的一致风格就是先找个软柿子,上来不能用力过猛,逐渐培养自己的信心,等真正敌人来的时候,才不至于怯场害怕。

我们先去搜索一下p2p网站,随便找几个对比一下,选中了这个沪商财富。

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

好了,闲话不说,这个系列课程吸取上个系列课程里进度太快的教训,给大家多讲一些基础的知识,这一课就结合这个实例,重点讲讲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

一般来说,我们在我们想要提取的元素上右击,点击审查元素,得到如下结果:

首先看到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验证一下有没有写错:

完美的结果。不过大家有的时候也需要注意,因为有的网页不代表你在一个内容页测试成功,在其他内容页也能成功,最好多测几个页面才是保险的。好了,其他的抽取项就不一一演示了,直接上最后的代码。

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();

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

对爬虫感兴趣的童鞋可以加qq群讨论: 566855261。

金融爬虫python网贷,互联网金融爬虫怎么写-第一课 p2p网贷爬虫(XPath入门)相关推荐

  1. 金融爬虫python网贷_互联网金融爬虫怎么写-第一课 p2p网贷爬虫(XPath入门)

    版权声明:本文为博主原创文章,未经博主允许不得转载. 相关教程: 工具要求:教程中主要使用到了 1.神箭手云爬虫 框架  这个是爬虫的基础,2.Chrome浏览器和Chrome的插件XpathHelp ...

  2. 新金融 新生态 银行高管热议互联网金融

    7月8日,主题为"未来银行之路·变革与回归"的2014年银行业发展论坛在北京金融街威斯汀酒店举行.在当天下午由新浪财经与中国金融认证中心(CFCA).中国电子银行网合作举办的&qu ...

  3. 手把手带你写米课官网

    手把手带你写米课官网 人生没有白走的路,每一步都算数,大家好,我是小王,今天,手把手教你写一个米课官网原创不易,希望大家多多支持! 需要源代码或者素材的评论区留言.大家记得关注我哦!我会不定期的跟大家 ...

  4. 【科技金融】风控命门——第三届互联网金融风控大会会后复盘

      对数据分析.机器学习.数据科学.金融风控等感兴趣的小伙伴,需要数据集.代码.行业报告等各类学习资料,可添加微信:wu805686220(记得要备注喔!),也可关注微信公众号:风控圏子(别打错字,是 ...

  5. 京东金融java面试题_互联网金融西部联盟

    互联网金融西部联盟, 总的来说,目前的情况是美元.英镑.日元都在支撑金价的上涨,但是美国投资者却在削减黄金持仓,再考虑COMEX的数据,这的确让人百感交集. 英镑坚决做空 值得一提的是,中核集团在推进 ...

  6. python基础知识大一总结与反思_Python第一课教学设计及反思

    上周五终于开始了本学期的最大挑战Python单元的教学,上课之前一直很忐忑,因为不知道该如何上这种写代码的课程,以至于周四一天没课的我连教案和课件都没准备好,静不下来! 周五早上7点10分左右到校开始 ...

  7. python能安装到d盘吗_第一课:python安装

    python是一门简洁.智能的语言,这是每个接触python的开发者对这门语言的第一印象.由于python具备这些特点,所以它同时也是一门对初学者绝对友好的语言.本期课程主要也是针对初学者,希望这篇课 ...

  8. 网络爬虫python的特点有哪些_为什么写网络爬虫天然就是择Python而用

    关于这个问题,老猿就先从自己的经历讲起吧.很多年前,大约11年前,老猿我接手了一个搜索引擎的网络爬虫,那是一个用C++写的通用搜索引擎的爬虫.C++的语言,多线程的实现,爬虫的运行效率非常高.但是,找 ...

  9. 金融数据python分析实例_Python金融大数据分析-蒙特卡洛仿真

    1.简单的例子 了解一点金融工程的对这个公式都不会太陌生,是用现在股价预测T时间股价的公式,其背后是股价符合几何布朗运动,也就是大名鼎鼎的BSM期权定价模型的基础. 我们假设现在一个股票的价值是100 ...

最新文章

  1. sql移动加权计算利润_一文搞懂股票指数的4种加权方式
  2. 云数据中心异构资源管理大有可为
  3. python中的->
  4. 阿里云 centos mysql_在阿里云的CentOS环境中安装配置MySQL的教程
  5. SQL Server查询执行计划–基础
  6. Ubuntu使用记录:安装deb软件方法以及apt、apt-get和dpkg的区别
  7. 当前页禁止复制粘贴截屏
  8. 我的Delphi开发经验谈
  9. 连接最大数 详解(C++)
  10. EDP to LVDS转换设计电路|EDP to LVDS转接板电路|Capstone/CS5211芯片电路原理图参考
  11. 安卓自动滑屏脚本_按键精灵自动滑屏脚本
  12. 九个小妙方缩小毛孔立竿见影! - 生活至上,美容至尚!
  13. VHDL SXT函数
  14. 说说你对keep-alive的理解是什么?
  15. 通讯录的思路与实现(C语言)
  16. 数据库中间件 MyCAT源码分析 —— XA分布式事务
  17. 曝光,程序员的 10 个摸鱼神器
  18. 【论文简述及翻译】Learning for Disparity Estimation through Feature Constancy(CVPR 2018)
  19. How to create hd MAP
  20. E - Obstacle Course的详细解答

热门文章

  1. 视频教程-JSON基础入门实战讲解-JavaScript
  2. MySQL 原理与优化:意向锁,IS,IX
  3. Flume的学习及使用
  4. 调用 SSPI 失败,请参见内部异常 解决方法
  5. 物联网感知层之传感器的分类
  6. hehe 今天今天偶然发现自己的博客可以使用了^_^请问那个.net的网页编辑器哪里可以找到阿?
  7. 空腹喝牛奶 解密食品不能空腹吃的传言
  8. 大道争锋手游如何在电脑上玩 大道争锋手游拟器教程
  9. 新电商模式——小程序+电商
  10. 富兰克林自传-读书记