版权声明:本文为博主原创文章,未经博主允许不得转载。

相关教程:

工具要求:教程中主要使用到了 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 = newCrawler(configs);

crawler.start();

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

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

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

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

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

  2. P2P平台方案——亿网软通“互联网+”金融解决方案

    P2P平台方案--亿网软通"互联网+"金融解决方案 第一部分:总体架构 一,概述 P2P网贷平台整体架构分为2部分:PC端.移动端.资金管理基于通联支付平台的资金存管方案来实现,有 ...

  3. 互联网金融学习总结(2)——互联网金融风控的应用场景及风控手段

    金融作为现代经济的核心,其风险的积累与爆发所形成的金融危机,已经成为引发经济危机的直接原因.2008年爆发的金融危机及随后发生的欧债危机,使得金融风险迅速成为人们关注的焦点. 随着互联网和通信技术的高 ...

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

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

  5. 平均获客成本_互联网金融获客成本

    获客渠道 搜索获客 内容获客 MGM 获客 网贷业获客成本主要包括搜索引擎对关键字的竞价排名. 推广广告的投放. 促销活动. 新用红包等.随着互联网金融红利的消失. P2P 行业的负面影响,以及监管趋 ...

  6. 众易贷:互联网金融再不玩儿你就OUT了

    朋友告诉我说:现在没有手机,没有电脑,没有网络,日子真的是没办法过了.购物.旅游.学习......虽然这些没有加上互联网,可这些背后是百度.淘宝.京东等.2014年提起投资理财,背后的互联网金融尤其是 ...

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

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

  8. 互联网金融学习总结(3)——互联网金融风控模型的设计学习

    不管是传统的银行还是现在流行的互联网金融,风控永远是其核心. 前言 互联网金融近几年得到了飞速的发展,它在某些方面其实是履行了部分银行的特征,给很多中小企业和个人解决了部分贷款的需求.从字面上来看,互 ...

  9. 前海理想金融联手云信,共促互联网金融领域变革

    近日,网易云信与专注于互联网金融的前海理想金融控股有限公司展开深度技术合作,双方将整合各自资源,向客户提供金融一体化信息服务方案,共同推进国内互联网金融行业信息化体系的发展和创新. 在大量的互联网金融 ...

最新文章

  1. 不要签字!不要签字!不要签字!最近违法裁员猖獗,这里单独给大家一些应对参考!...
  2. 严定贵:互联网金融的速度与激情
  3. TZOJ 1321 Girls and Boys(匈牙利最大独立集)
  4. mybatis源码阅读(七) ---ResultSetHandler了解一下
  5. linux 线程与进程 pid,linux下线程所属进程号问题
  6. tcp keepalive
  7. git合并分支的时候将某个文件添加到忽略列表_常用的 Git 命令
  8. 中兴F803/804 ONU实现端口间计算名(基于netbios协议)互通
  9. DockOne微信分享( 一零二):基于容器的日志管理实践
  10. (20200420已解决)InfluxDB时间显示格式
  11. [纯理论] FCOS
  12. 虹科案例|光刻机汞灯替代者—定制大功率UV-LED平行光源
  13. WMS库存盘点流程 WMS库存盘点计划
  14. OpenCV入门系列 —— boxFilter盒子滤波
  15. 逆向开发--4.iOS签名与重签名
  16. 2018 IEEE极限编程大赛 题解
  17. The World is Flat 世界是平坦的
  18. java 第三方登录之QQ登录
  19. django-连接Oracle数据库
  20. OGNL表达式语言浅谈

热门文章

  1. dell服务器显示屏不亮,戴尔台式机屏幕不亮的解决方法
  2. codemirror 简单使用
  3. 魏则西事件后推广模式有所改变,SEO优化对企业显得尤为重要
  4. Axure教程:一个通用的app注册/登录页
  5. 贝叶斯算法基本原理介绍
  6. pytorch 多项式回归
  7. linux svn配置提交输入备注,linux下svn服务强制添加备注(注释)提交
  8. uniapp-本地图片分享-截图分享-解决打包之后图片分享为空
  9. 盘点顶级加密 VC 的“3A 链游”布局,谁能扛起 Gamefi 的大旗?
  10. 网文广告火出圈,“歪嘴战神”能拯救网文界的颓势吗?