加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

用Python爬取金融市场数据

发布时间:2019-01-18 04:08:26 所属栏目:教程 来源:隠塵退士
导读:一、写在前面 由于在平时的工作中,需要对某信托网的信托在售和资管在售数据进行统计分析,但是一条一条的输入,显然太过耗时耗力,于是萌生了写个爬虫的想法。 一门计算机语言,可以当做是在模仿人的目的或意图来进行一系列行为或动作,所以在写代码之前
副标题[/!--empirenews.page--]

一、写在前面

由于在平时的工作中,需要对某信托网的信托在售和资管在售数据进行统计分析,但是一条一条的输入,显然太过耗时耗力,于是萌生了写个爬虫的想法。

一门计算机语言,可以当做是在模仿人的目的或意图来进行一系列行为或动作,所以在写代码之前,首先要弄清楚你要干什么,如果是你,你每一步的动作是什么,然后将这一步步的动作通过代码传递给计算机,让计算机高效的帮你完成即可。

本文结合正则表达式和比较流行的beautifulsoup(bs4),对网页进行解析并提取数据,因此在正式进行之前,有必要简单介绍下正则表达式和bs4.

二、基础知识

1、正则表达式

具体的详细介绍可自行去网上补知识,这里只介绍一些规则和常用的用法。

  1. # 正则表达式 
  2. 规则: 
  3.     单字符: 
  4.             .  : 除换行以外所有字符 
  5.             [] : 匹配集合中任意一个字符 
  6.             d : 数字 
  7.             D : 非数字 
  8.             w : 数字、字母、下划线、中文 
  9.             W : 非数字、字母、下划线、中文 
  10.             s : 空格 
  11.             S : 非空格 
  12.     数量修饰: 
  13.              * : 任意多次 
  14.              + : 至少1次 
  15.              ?: 非贪婪方式,可有可无 
  16.            {m} : 固定m次 
  17.           {m+} : 至少m次 
  18.          {m,n} : m到n次 
  19.     起始: 
  20.              ^ : 以啥啥开头 
  21.              $ : 以啥啥结尾 
  22.     常用组合和函数: 
  23.             .* : 贪婪方式任意字符任意次数 
  24.            .*? : 非贪婪方式任意字符任意次数 
  25.            r = re.compile(r'正则表达式',re.S) :  
  26.                               最常用:将规则传递给某个参数以便反复使用 
  27.            re.matchre.search(字符串) 
  28.            re.findall(字符串) 
  29.            re.sub(正则表达式,替换内容,字符串) 

2、bs4

同样,详细知识自行补,这里只介绍常用的用法:select结合选择器的用法。

  1. # bs4用法 
  2. 首先加载里面的BeautifulSoup: 
  3. from bs4 import BeautifulSoup 
  4. soup = BeautifulSoup('网页响应回来的东西') 

主要有以下几种提取规则:

  1. 1、获取标签 
  2.     soup.a   获取a标签(第一个) 
  3. 2、获取属性 
  4.     soup.a.attrs   获取a标签下所有的属性和值,返回的是字典 
  5.     soup.a['name'] 获取a标签下的name属性 
  6. 3、获取内容 
  7.     soup.a.string() 
  8.     soup.a.text()   建议使用这个 
  9. 4、find用法 
  10.     soup.find('a')  找到第一个a 
  11.     soup.find('a',title='')  附加条件的查找 
  12. 5、find_all用法 
  13.     soup.find_all('a')  找到所有a 
  14.     soup.find_all(['a','b']) 找到所有a和b 
  15.     soup.find_all('a',limit=5) 找到前5个a 
  16. 6、select用法——重点 
  17.     结合选择器使用,常用的选择器如下: 
  18.     标签选择器:如div表示为div 
  19.     类选择器:.表示,如class = 'you'表示为.you 
  20.     id选择器:#表示,如id = 'me'表示为#me  
  21.    组合选择器:如div,.you,#me    
  22.    层级选择器:如div .you #me表示选取div标签下的you类下的id为me的内容 
  23.               再如div > .you > #me,> 则表示只能是下面一级 

三、开始实战——爬取某信托网的信托在售数据

1、爬取前的准备工作——梳理好代码的逻辑

正如前面所说,写代码之前,首先要清楚你想要干什么,如果是你,你是什么样的动作来达到你的这个目的或意图。

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读