第一次博客-20180508
从网易财经爬取了一直股票5年的数据,数据整理分组中,运行好长时间,先来先点,报个道。
本人工作10年,近期心血来潮,想做个数据分析,然后从4月中旬开始python,《零基础学python》,在手机上啃了20多天,终于把基础的东西整完了,每天看一点,所有代码调试一遍,终于在昨天(2018-5-7)感觉可以试一试了,于是百度着爬了一个季度数据,到了晚上12点多,数据存下来之后就没进行处理。
今天晚上继续进行,先爬了5年的数据,没想好怎么处理,,想整理成嵌套list,结果电脑狂奔了好久,现在还在继续中。。。
就是这个股票,11列数据,,13年--17年的所有数据
等运行完了再继续贴码。
强行终止了,,爬的代码如下:
import requests from bs4 import BeautifulSoup import re import time def get_data(url): headers={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64)\ AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36'} data=requests.get(url,headers=headers) return data.content def save_data(path,str,pat='w'): f=open(path,pat) f.write(str) f.close() def get_value(url,path): l=[] soup=BeautifulSoup(get_data(url),'lxml') table=soup.find_all('table',{'class','table_bg001 border_box limit_sale'}) for tabb in table: tdd=tabb.find_all('td') m=re.findall(r'>(.*?)<',str(tdd),re.I|re.M) if m: for x in m: save_data(path,x,'a') if __name__ == '__main__': sock = '002595' path = 'H:/data.txt' count=0 for n in range(2013, 2018): for y in range(1, 5): url = 'http://quotes.money.163.com/trade/lsjysj_002595.html?year=' + str(n) + '&season=' + str(y) print(url) get_value(url, path) count+=1 print('complete %d%%'%((count*100)/20)) time.sleep(5)
可是对数据处理不知道怎么办了。。。
慢慢摸索一下吧,,有大神指导一下就好啦,暂时想整成list
import re f=open('H:/data.txt','r') s=f.read() l=s.split(' ') #patt1=re.compile(r'(\d*-\d*-\d*)') #res1=re.findall(patt1,s) #patt2=re.compile(r'\d*,\d*,\d*,\d*,\d*,\d*,\d*,\d*,\d*,\d*') #res2=re.findall(patt2,s) #print(res1) #print(res2) #print(l) #for n in l: # print(n) l1=[] l2=[] for i in range(int(len(l)/11)): for x in range(11): l2.append(l[11*i+x]) l1.append(l2) print(l1)
想用csv模块,可是也得先把数据整理好啊