接下来是获得百度股票网链接描述(https://gupiao.baidu.com/stock/sz300023.html)单只股票的信息。我们先查看该页面的源代码,如下图所示:

股票的信息就存在上图所示的html代铝闼楝是以我们须要对这段html代码进行解析。过程如下:
1.百度股票网的网址为:https://gupiao.baidu.com/stock/
一只股票信息的网址为:https://gupiao.baidu.com/stock/sz300023.html
功能简介
- 目标: 获取上交所和深交所所有股票的名称和交易信息。
- 输出: 保存到文件中。
- 技巧路线: requests—bs4–re
- 说话:python3.5
所以只要百度股票网的网址+每只股票的代码即可,而每只股票的代码我们已经有前面的法度榜样getStockList大年夜东方财富网解析出来了,是以对getStockList函数返回的列表进行遍历即可,代码如下:
- for stock in lst:
- url = stockURL + stock + ".html"
2.获得网址后,就要拜访网页获得网页的html代码了,法度榜样如下:
- html = getHTMLText(url)
3.获得了html代码后就须要对html代码进行解析,由上图我们可以看到单个股票的信息存放在标签为div,属性为stock-bets的html代铝闼楝是以对其进行解析:
- soup = BeautifulSoup(html, 'html.parser')
- stockInfo = soup.find('div',attrs={'class':'stock-bets'})
- keyList = stockInfo.find_all('dt')
- valueList = stockInfo.find_all('dd')
- infoDict = {}
- name = stockInfo.find_all(attrs={'class':'bets-name'})[0]
- infoDict.update({'股票名称': name.text.split()[0]})
split()的意思是股票名称空格后面的部分不须要了。
5.我们大年夜html代码中还可以不雅察到股票的其他信息存放在dt和dd标签中,个中dt表示股票信息的键域,dd标签是值域。获取全部的键和值:
并把获得的键和值按键值对的方法村放入字典中:
第二步,解析页面,找到所有的a标签:
- for i in range(len(keyList)):
- key = keyList[i].text
- val = valueList[i].text
- infoDict[key] = val
- with open(fpath, 'a', encoding='utf-8')
推荐阅读
接口是面向对象JavaScript法度榜样员的对象箱中最有效的对象之一。在设计模式中提出的可重用的面向对象设计的原则之一就是“针对接口编程而不是实现编程”,即我们所说的面向接口编程,这个>>>详细阅读
本文标题:Python爬虫实战:股票数据定向爬虫
地址:http://www.17bianji.com/lsqh/36863.html
1/2 1

网友点评
精彩导读
科技快报
品牌展示