`
游牧民族
  • 浏览: 8152 次
博客专栏
0e19309f-3048-3b23-8de5-1a8a92dd847a
爬虫开发教程
浏览量:0
社区版块
存档分类
最新评论

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

阅读更多

相关教程:

 

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

 

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

 

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

 

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

 

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

 

工具要求:教程中主要使用到了 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 标签也没有,咱们再往上找,在上一级是一个<div class="product-content-top-left-top">,终于有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();
 

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

 

 

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

0
6
分享到:
评论

相关推荐

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

    爬虫是一种自动获取网页内容的程序或脚本,它通过模拟浏览器行为,从互联网上抓取所需的数据。爬虫的工作流程可以概括为几个步骤:选定入口URL、区分内容页面与中间页、编写数据抽取规则、执行爬虫任务。 在选择...

    python入门爬虫题目-100道(1).zip

    在这个压缩包"python入门爬虫题目-100道(1).zip"中,很可能包含了一系列针对初学者设计的爬虫练习题目,帮助学习者逐步掌握爬虫的基本技能。 首先,让我们从基础开始。Python爬虫的核心在于两个主要部分:网络请求...

    基于nodejs的知乎爬虫,x-zse-96,支持文章,评论,图片下载到本地.zip

    爬虫(Web Crawler)是一种自动化程序,用于从互联网上收集信息。其主要功能是访问网页、提取数据并存储,以便后续分析或展示。爬虫通常由搜索引擎、数据挖掘工具、监测系统等应用于网络数据抓取的场景。 爬虫的...

    网络爬虫-- 个人版

    【网络爬虫-- 个人版】是一个用于网络信息抓取的工具,允许用户免费使用,以便从互联网上搜集和整理所需的数据。网络爬虫在信息技术领域扮演着重要角色,尤其对于数据分析、市场研究、搜索引擎优化(SEO)以及自动化...

    爬虫技术-Xpath解析数据.pptx

    总之,Xpath是爬虫开发者必备的技能之一,熟练掌握其语法和用法,能够极大地提高爬虫的效率和数据提取的准确性。通过不断实践和探索,我们可以灵活运用Xpath解决各种网页解析问题,从而更好地服务于数据分析和信息...

    爬虫笔记-解析库-Xpath

    基于崔庆才《python3网络爬虫开发实战》写的学习笔记和心得,其中包括内容和方法最总,包括代码,其中有些方法由于版本更迭做了修改。使用jupyter写的。

    py爬虫QQSpider-master

    爬虫(Web Crawler)是一种自动抓取互联网网页信息的程序或脚本。它通过模拟人类的行为访问网站并收集数据,然后对这些数据进行分析处理,从而达到自动化获取所需信息的目的。爬虫技术广泛应用于搜索引擎、数据分析...

    python爬虫之xpath入门(csdn)————程序.pdf

    Python 爬虫之 XPath 入门 Python 爬虫是指使用 Python 语言来进行网络爬虫的操作,而 XPath 则是 XML 文档中搜索内容的一门语言。由于 HTML 是 XML 的一个子集,因此 XPath 也可以用于解析 HTML 文档。 在 Python...

    c#最好的网络爬虫下载---mtkos.com

    在IT领域,网络爬虫是一种自动化程序,用于从互联网上抓取信息,通常是网页内容,以便进行数据分析或构建搜索引擎。C#作为一种强大的编程语言,也提供了丰富的库和工具来实现高效的网络爬虫。本篇文章将深入探讨C#...

    爬虫---爬取官网照片.zip

    爬虫(Web Crawler)是一种自动化程序,用于从互联网上收集信息。其主要功能是访问网页、提取数据并存储,以便后续分析或展示。爬虫通常由搜索引擎、数据挖掘工具、监测系统等应用于网络数据抓取的场景。 爬虫的...

    24期爬虫-03-xpath数据解析-邓苏杭-歌曲排名.py

    24期爬虫-03-xpath数据解析-邓苏杭-歌曲排名.py

    Python爬虫解析XPATH讲义

    Python爬虫解析XPATH讲义 Python爬虫解析XPATH讲义是使用Python语言进行网络爬虫开发时,使用XPATH语言来提取HTML和XML文档中的信息的技术讲义。在本讲义中,我们将学习XPATH语言的基本概念、安装方法、路径表达式...

    24期爬虫-03-xpath数据解析1-陈麟.py

    24期爬虫-03-xpath数据解析1-陈麟.py

    py爬虫QunarSpider-master

    - **Scrapy**(可选):一个强大的爬虫框架,可以简化复杂的爬虫逻辑。 - **Pandas**:用于数据清洗和分析。 - **其他工具**: - **Git**:用于版本控制。 - **Docker**(可选):用于环境部署和隔离。 #### 三...

    网络爬虫程序-网络爬虫程序

    网络爬虫程序是一种自动化浏览互联网并抓取网页信息的程序,它是数据分析、搜索引擎优化和大量信息获取的重要工具。网络爬虫通过模拟人类浏览器的行为,遵循HTTP/HTTPS协议,逐个请求网页,解析其中的数据,然后按照...

    爬取正方教育管理系统--爬虫--python

    在IT领域,爬虫是一种广泛使用的工具,用于自动地从互联网上抓取大量数据。本案例涉及的主题是“爬取正方教育管理系统”,这是一项利用Python编程语言进行网络数据抓取的技术,主要用于获取学生的个人信息,如课表和...

    网页爬虫 mysh-crawler

    网页爬虫mysh-crawler是一种用于自动化数据抓取的工具,尤其在大数据分析、网站信息监控和搜索引擎构建等领域中有着广泛的应用。这个项目的核心是利用编程语言(可能是Python或Java)编写代码,模拟浏览器行为,遵循...

    py爬虫weibo-crawler-master

    - **丰富的第三方库**:如BeautifulSoup、Requests、Scrapy等,极大地简化了爬虫开发过程。 **常用Python爬虫库简介:** - **Requests**:用于发送HTTP请求,获取网页内容。 - **BeautifulSoup**:用于解析HTML...

    网络爬虫--获取中国留学网留学信息并显示

    网络爬虫作为一种自动化数据抓取工具,在互联网信息海洋中起到了至关重要的作用。对于有意向出国留学的学生来说,如何快速、准确地获取到相关的留学信息是一项挑战。本文将围绕"网络爬虫--获取中国留学网留学信息并...

Global site tag (gtag.js) - Google Analytics