如何用java爬虫抓取网页数据股市数据并生成分析报表

利用bs4和requests爬取股票历史交易数据
利用bs4和requests爬取股票历史交易数据
最近在学习优达学院的一门机器学习的课程,主要讲解利用机器学习分析股票数据,然后。课程网址在这里:
所以需要大量的股票数据,我就先百度了一下,发现网易财经的数据很全,暴露的也很好,所以的数据都是放在一个&table&标签中,
所以我就决定爬网易财经了,开始着手写爬虫。
首先,是构造url。
假如我要查询中国石油(601857)的2016年度的第三季度的交易数据,url是这样的。
http://quotes./trade/lsjysj_601857.html?year=2016&season=3
我们发现,这段url有3个参数,股票的代码601857,年度2016,季度3
只要把这三个参数,当作函数的参数传进去,就可以获取到所有股票的所有的交易记录了,
当然,我们暂时就先爬一只股票的所有交易记录就可以了。
因为是每一个年度的每一个季度有不同的url,
所以我们先开始写,爬取单个年度的单个季度的爬虫,之后再进行循环。
def sharesCrawl(shareCode,year,season):三个参数,股票代码,年度,季度
data = requests.get(url, headers=headers)
soup = BeautifulSoup(data.text, 'lxml')
table = soup.findAll('table',{'class':'table_bg001'})[0]
rows = table.findAll('tr')
构造完url,就开始进行常规的BeautifulSoup+requests爬虫的编写了,
通过get请求url啊,再构造个head请求头过去。
得到soup之后,找到table啊。再找到除去thead的rows,放进一个list中,方便以后的处理。
但是因为得到的rows是由新到旧的,而我们之后的构造所有的年度是由旧到新的。
所以还得对rows进行一下处理,倒序一下在返回return rows[::-1]
这样爬虫的大致主体就写完了,之后开始写循环调用上面爬虫的函数,顺便写进csv文件。
def writeCSV(shareCode,beginYear,endYear):也是三个参数:股票代码,起始年,结束年。
首先先打开以股票代码为名字的csv
csvFile = open('./data/' + shareCodeStr + '.csv', 'wb')
writer = csv.writer(csvFile)
writer.writerow(('日期','开盘价','最高价','最低价','收盘价','涨跌额','涨跌幅','成交量','成交金额','振幅','换手率'))
再写进第一行。
之后就可以循环调用我们的sharesCrawl函数了。
for i in range(beginYear, endYear + 1):
print str(i) + ' is going'
time.sleep(4)
for j in range(1, 5):
rows = sharesCrawl(shareCode,i,j)
for row in rows:
csvRow = []
# 判断是否有数据
if row.findAll('td') != []:
for cell in row.findAll('td'):
csvRow.append(cell.get_text().replace(',',''))
if csvRow != []:
writer.writerow(csvRow)
time.sleep(3)
print str(i) + '年' + str(j) + '季度is done'
不要吐槽有四层循环,中间的循环季度可以优化,因为季度是1234是固定的。
别的三层就很难被优化了。优化的话,之前的函数soup.find需要重新调整思路。
第一层:循环起始年到截至年,第二层,循环季度1234,
第三层,还记得我们的rows返回的是个tags & &list吗,循环每一个tag
第四层,获取到了每一行的数据,循环出每一行的每一个数据,放在一个csvRow中,以便写入csv中。
writer.writerow(csvRow)就是将刚才的存放每一个数据的list写入csv文件。
这样就大功告成了,是不是特别简单呢。
所有的代码我已经在github上开源:,欢迎大家star,fork哈~~~~
我的热门文章
即使是一小步也想与你分享python 爬虫 股票数据
分享到朋友圈
上传支持JPG、PNG、BMP格式,最大支持 5M
您要举报的评论?
您要删除评论“
小组最新话题
是否要封禁此账号?
同时删除用户在本小组的所有发言和回应
举报原因:
含有广告或垃圾信息
含有敏感内容
话题没有内容 上传我的文档
 下载
 收藏
该文档贡献者很忙,什么也没留下。
 下载此文档
正在努力加载中...
爬虫日志数据信息抽取与统计系统设计与实现
下载积分:2498
内容提示:爬虫日志数据信息抽取与统计系统设计与实现
文档格式:PDF|
浏览次数:25|
上传日期: 22:01:47|
文档星级:
该用户还上传了这些文档
爬虫日志数据信息抽取与统计系统设计与实现
官方公共微信

我要回帖

更多关于 java实现爬虫抓取数据 的文章

 

随机推荐