作家
登录

Python爬虫实战:股票数据定向爬虫

作者: 来源: 2017-08-23 09:13:08 阅读 我要评论

【51CTO晃荡】8.26 带你与清华大年夜学、搜狗、京东大年夜咖们一路商量基于算法的IT运维实践


解释

  • 网站选择原则: 股票信息静态存在于html页面中,非js代码生成,没有Robbts协定限制。
  • 拔取办法: 打开辟页,查看源代码,搜刮网页的股票价格数据是否存在于源代码中。

如打开新浪股票网址:链接描述(http://finance.sina.com.cn/realstock/company/sz000877/nc.shtml),如下图所示:

上图中左边为网页的界面,显示了天山股份的股票价格是13.06。右边为该网页的源代码,在源代码中萌芽13.06发明没有找到。所以断定该网页的数据应用js生成的,不合适本项目。是以换一个网页。

再打开百度股票的网址:链接描述(https://gupiao.baidu.com/stock/sz300023.html),如下图所示:

大年夜上图中可以发明百度股票的数据是html代码生成的,相符我们本项目标请求,所以在本项目中选择百度股票的网址。

  1. # -*- coding: utf-8 -*- 
  2.  
  3.   
  4.  
  5. import requests 
  6.  
  7. from bs4 import BeautifulSoup 
  8.  
  9. import traceback 
  10.  
  11. import re 
  12.  
  13. def getHTMLText(url): 
  14.  
  15.     try: 
  16.  
  17.         r = requests.get(url) 
  18.  
  19.         r.raise_for_status() 
  20.  
  21.         r.encoding = r.apparent_encoding 
  22.  
  23.         return r.text 
  24.  
  25.     except
  26.  
  27.         return "" 
  28.  
  29. def getStockList(lst, stockURL): 
  30.  
  31.     html = getHTMLText(stockURL) 
  32.  
  33.     soup = BeautifulSoup(html, 'html.parser'
  34.  
  35.     a = soup.find_all('a'
  36.  
  37.     for i in a: 
  38.  
  39.         try: 
  40.  
  41.             href = i.attrs['href'
  42.  
  43.             lst.append(re.findall(r"[s][hz]\d{6}", href)[0]) 
  44.  
  45.         except
  46.  
  47.             continue 
  48.  
  49. def getStockInfo(lst, stockURL, fpath): 
  50.  
  51.     count
     1/7    1 2 3 4 5 6 下一页 尾页

      推荐阅读

      浅谈JavaScript中的接口实现

    接口是面向对象JavaScript法度榜样员的对象箱中最有效的对象之一。在设计模式中提出的可重用的面向对象设计的原则之一就是“针对接口编程而不是实现编程”,即我们所说的面向接口编程,这个>>>详细阅读


    本文标题:Python爬虫实战:股票数据定向爬虫

    地址:http://www.17bianji.com/lsqh/36863.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)