python爬虫由浅入深9---定向爬取股票数据信息并保存至本地文件
2017-09-27 15:28
1061 查看
技术路线:requests库+bs4库+re库的整合使用
目标:获得上交所和深交所所有股票的名称和交易信息
输出:保存至本地文件
可选数据网络有:新浪股票和百度股票,,通过查看网页源代码可知,新浪股票的数据是通过javascript脚本获取的,故通过以上方式无法解析
呃呃呃,可以说requests库+bs4库+re库可以爬的网站应该是---信息静态存在于HTML页面中,非js代码生成,没有Robots协议限制
所以最终确定了数据源为:东方财富网+百度股票
东方财富网:
百度股票:
程序结构设计:
1.从东方财富网中获取股票列表
2.根据股票列表逐个到百度股票获取个股信息
3.将结果存至文件
封装函数,编写代码
目标:获得上交所和深交所所有股票的名称和交易信息
输出:保存至本地文件
可选数据网络有:新浪股票和百度股票,,通过查看网页源代码可知,新浪股票的数据是通过javascript脚本获取的,故通过以上方式无法解析
呃呃呃,可以说requests库+bs4库+re库可以爬的网站应该是---信息静态存在于HTML页面中,非js代码生成,没有Robots协议限制
所以最终确定了数据源为:东方财富网+百度股票
东方财富网:
百度股票:
程序结构设计:
1.从东方财富网中获取股票列表
2.根据股票列表逐个到百度股票获取个股信息
3.将结果存至文件
封装函数,编写代码
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') except: traceback.print_exc() continue return "" def main(): stock_list_url = 'http://quote.eastmoney.com/stocklist.html' stock_info_url = 'https://gupiao.baidu.com/stock/' output_file = 'C://Users//kfc//Desktop//BaiduStockInfo.txt' slist = [] getStockList(slist,stock_list_url) getStockInfo(slist,stock_info_url,output_file) main()
相关文章推荐
- python爬虫由浅入深1-从网页中爬取文件并保存至本地
- Python网络爬虫与信息提取-Day14-(实例)股票数据定向爬虫
- 人生苦短,我用Python--爬虫模拟登陆教务处并且保存数据到本地
- Python爬虫(三):爬取猫眼电影网经典电影TOP100信息并存入本地Markdown文件(上)
- Python爬虫(三):爬取猫眼电影网经典电影TOP100信息并存入本地Markdown文件(下)
- python selenium爬虫实践:获取自如租房数据保存到文件
- python简单应用!用爬虫来采集天猫所有优惠券信息,写入本地文件
- [python和大数据-1]利用爬虫登录知乎进行BFS搜索抓取用户信息本地mysql分析【PART1】
- python爬虫数据保存到本地各种格式的方法
- python保存数据到本地文件
- Python 爬虫实战(2):股票数据定向爬虫
- python爬虫学习 之 定向爬取 股票信息
- java爬虫实战(1):抓取信息门户网站中的图片及其他文件并保存至本地
- Python3爬虫学习4:降爬取的信息保存到本地
- 不务正业--用python爬虫抓取Konachan的图片并保存到本地文件
- python保存数据到本地文件的方法
- [Python Scrapy爬虫] 二.翻页爬取农产品信息并保存本地
- Python爬虫-爬取集思录的金融信息,并写入文件和检测数据变化发送邮件通知
- Android将程序崩溃信息保存本地文件
- Android将程序崩溃信息保存本地文件