作家
登录

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

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

  •  
  •         return r.text 
  •  
  •     except
  •  
  •         return ""  
  • 接下来是html代码解析法度榜样,在这里起首须要解析的是东方财富网页面:链接描述(http://quote.eastmoney.com/stocklist.html),我们打开其源代码,如下图所示:

    第一步,获得一个页面:

    1. html = getHTMLText(stockURL) 
    1. soup = BeautifulSoup(html, 'html.parser'
    2.  
    3. a = soup.find_all('a' 

    第三步,对a标签中的每一个进行遍历来进行相干的处理。处理过程如下:

    1.找到a标签中的href属性,并且断定属性中心的链接,把链接后面的数字掏出来,在这里可以应用正则表达式来进行匹配。因为深圳交易所的代码以sz开首,上海交易所的代码以sh开首,股票的数字有6位构成,所以正则表达式可以写为[s][hz]\d{6}。也就是说结垢荷琐正则表达式,在链接中去寻找知足这个正则表达式的字符串,并把它提掏出来。代码如下:

    1. for i in a: 
    2.  
    3.     href = i.attrs['href'
    4.  
    5.     lst.append(re.findall(r"[s][hz]\d{6}", href)[0])  

    2.因为在html中有很多的a标签,然则有些a标签中没有href属性,是以上手段度榜样在运行的时刻出现异常,所有对上述的法度榜样还要进行try…except来对法度榜样进行异常处理,代码如下:

    1. for i in a: 
    2.  
    3.     try: 
    4.  
    5.         href = i.attrs['href'
    6.  
    7.         lst.append(re.findall(r"[s][hz]\d{6}", href)[0]) 
    8.  
    9.     except
    10.  
    11.         continue  

    大年夜膳绫擎代码可以看出,对于出现异常的情况我们应用了continue语句,直接让其跳过,持续履行下面的语句。经由过程膳绫擎的法度榜样我们就可以把东方财富网上股票的代码信息全部保存下来了。

    将上述的代码封装成一个函数,对东方财富网页面解析的完全代码如下所示:

    1. def getStockList(lst, stockURL): 
    2.  
    3.     html = getHTMLText(stockURL) 
    4.  
    5.     soup = BeautifulSoup(html, 'html.parser'
    6.  
    7.     a = soup.find_all('a'
    8.  
    9.     for i in a: 
    10.  
    11.         try: 
    12.  
    13.             href = i.attrs['href'

        推荐阅读

        浅谈JavaScript中的接口实现

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


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

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

    关键词: 探索发现

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

    网友点评
    自媒体专栏

    评论

    热度

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