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

用Python爬取金融市场数据

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

这里为了提防反爬,user_agent在多个里随机选,并使用了代理池(虽然不多),并且我电脑端也进行了局域网ip代理。

  1. # 定义第2个函数que_res,用来构建request发送请求,并返回响应response 
  2. def que_res(url): 
  3.  
  4.     # 构建request的第一步——构建头部:headers 
  5.     USER_AGENTS = [  
  6.         "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)", 
  7.         "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0)", 
  8.         "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)", 
  9.         "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)", 
  10.         "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Maxthon 2.0)", 
  11.         "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; TencentTraveler 4.0)", 
  12.         "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)", 
  13.         "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; The World)", 
  14.         "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Avant Browser)", 
  15.         "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)", 
  16.         ] 
  17.     user_agent = random.choice(USER_AGENTS) 
  18.     headers = { 
  19.         'Accept-Language': 'zh-CN,zh;q=0.8', 
  20.         'Connection': 'keep-alive',  
  21.         'Host': 'www.某信托网.com', 
  22.         'Referer': 'http://www.某信托网.com/Product/Index.aspx', 
  23.         'User-Agent': user_agent, 
  24.         'X-Requested-With': 'XMLHttpRequest' 
  25.         } 
  26.  
  27.     # 构建request的第二步——构建request 
  28.     request = urllib.request.Request(url=url, headers=headers) 
  29.  
  30.  
  31.     # 发起请求的第一步——构建代理池 
  32.     proxy_list = [       
  33.         {'http':'125.40.29.100:8118'}, 
  34.         {'http':'14.118.135.10:808'} 
  35.         ] 
  36.     proxy = random.choice(proxy_list) 
  37.  
  38.     # 发起请求的第二步——创建handler和opener 
  39.     handler = urllib.request.ProxyHandler(proxy) 
  40.     opener = urllib.request.build_opener(handler) 
  41.  
  42.     # 发起请求的第三步——发起请求,获取响应内容并解码 
  43.     response = opener.open(request).read().decode() 
  44.  
  45.     # 返回值 
  46.     return response 

④ 解析第一层网页的内容

获取响应之后就是解析并提取数据了,第一层使用正则表达式的方法来进行。

(编辑:核心网)

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

热点阅读