第一次博客-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模块,可是也得先把数据整理好啊 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值