【python爬虫学习笔记】07 股票数据定向爬虫实例
2018-12-13 21:22
651 查看
功能描述
目标:获取上交所和深交所所有股票的名称和交易信息
输出:保存到文件中
技术路线:requests-bs4-re
候选数据网站的选择
新浪股票:http://finance.sina.com.cn/stock/
百度股票:http://gupiao.baidu.com/stock/
东方财富网:http://quote.eastmoney.com/stocklist.html
-
选取原则:
股票信息静态存在于HTML页面中,非js代码生成,没有Robots协议限制 -
选取方法:
浏览器F12,源代码查看等
程序的结构设计
import requests from bs4 import BeautifulSoup import traceback import re def getHTMLText(url,code = 'utf-8'): try: r = requests.get(url,timeout=30) r.raise_for_status() r.encoding = code return r.text except: return "" def getStockList(lst,stockURL): html = getHTMLText(stockURL,'GB2312') soup = BeautifulSoup(html,'html.parser') a = soup.find_all('a') for i in a: try: href = i.attrs['href'] lst.append(re.findall(r"[s][hz]\d{6}",href)[0]) except: continue def getStockInfo(lst,stockURL,fpath): count = 0 for stock in lst: url = stockURL + stock +'.html' html = getHTMLText(url) try: if html == "": continue #字典形式 infoDict = {} soup = BeautifulSoup(html,'html.parser') stockInfo = soup.find('div',attrs={'class':'stock-bets'}) name = stockInfo.find_all(attrs={'class':'bets-name'})[0] infoDict.update({'股票名称':name.text.split()[0]}) keyList = stockInfo.find_all('dt') valueList = stockInfo.find_all('dd') for i in range(len(keyList)): key = keyList[i].text val = valueList[i].text infoDict[key] = val #以追加的方式打开文件 with open(fpath,'a',encoding='utf-8') as f: f.write(str(infoDict) + '\n') count = count + 1 print('\r当前速度:{:.2f}%'.format(count*100/len(lst)),end='') except: count = count + 1 print('\r当前速度:{:.2f}%'.format(count * 100 / len(lst)), end='') continue if __name__ == '__main__': stock_list_url = 'http://quote.eastmoney.com/stocklist.html' stock_info_url = 'http://gupiao.baidu.com/stock/' output_file = 'E://BaiduStockInfo.txt' slist = [] getStockList(slist,stock_list_url) getStockInfo(slist,stock_info_url,output_file)
相关文章推荐
- python爬虫笔记(七):实战(三)股票数据定向爬虫
- python3.4学习笔记(十四) 网络爬虫实例代码,抓取新浪爱彩双色球开奖数据实例
- Python 爬虫实战:股票数据定向爬虫
- Python学习笔记之开发简单爬虫和实例
- Python学习笔记 第二部分 - 正则表达式 与 爬虫小实例(抓取豆瓣电影中评分大于等于8分的影片)
- python3.x爬虫学习:股票数据定向爬虫笔记
- Python爬虫(入门+进阶)学习笔记 1-7 数据入库之MongoDB(案例二:爬取拉勾)
- python 东方财富网&百度股票数据定向爬虫 实例
- Python爬虫(入门+进阶)学习笔记 1-5 使用pandas保存豆瓣短评数据
- python3.4学习笔记(十三) 网络爬虫实例代码,使用pyspider抓取多牛投资吧里面的文章信息,抓取政府网新闻内容
- python爬虫学习(股票数据爬取)
- Python网络爬虫与信息提取-Day14-(实例)股票数据定向爬虫
- 【python爬虫学习笔记】09 Scrapy爬虫的数据类型及yield关键字
- python爬虫学习笔记2:实例学习1
- python爬虫:使用Mongodb数据库存储数据学习笔记
- Python ORM框架SQLAlchemy学习笔记之数据查询实例
- python爬虫实战二——股票数据定向爬虫【有补充】
- python爬虫学习笔记5:实例学习2
- python文件读写实例学习笔记
- Python学习笔记_数据排序方法