请选择 进入手机版 | 继续访问电脑版

数据家园

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 105|回复: 1

[爬虫代码] python 爬虫,爬取163股票数据

[复制链接]

75

主题

79

帖子

490

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
490
发表于 2021-3-7 00:19:03 | 显示全部楼层 |阅读模式
  1. # -*- coding: utf-8 -*-
  2. """
  3. Created on Fri Feb 26 23:58:25 2021

  4. @author: jing
  5. """

  6. import  pandas as pd
  7. import requests
  8. import csv
  9. from contextlib import closing


  10. # 保存csv文件
  11. def save_csv(f_name, data):
  12.     # 1. 创建文件对象
  13.     f = open(f_name, 'w', encoding='gbk', newline='')
  14.     # 2. 基于文件对象构建 csv写入对象
  15.     csv_writer = csv.writer(f)
  16.     # 4. 写入csv文件内容
  17.     for row in data:
  18.         csv_writer.writerow(row)
  19.     # 5. 关闭文件
  20.     f.close()

  21. # 下载csv文件
  22. def get_pag():
  23.     url = 'http://quotes.money.163.com/service/chddata.html?code=0000001&start=20001219&end=20210226&fields=TCLOSE;HIGH;LOW;TOPEN;LCLOSE;CHG;PCHG;VOTURNOVER;VATURNOVER'        
  24.         

  25.     # 读取数据
  26.     with closing(requests.get(url, stream=True)) as r:
  27.         f = (line.decode('gbk') for line in r.iter_lines())
  28.         reader = csv.reader(f, delimiter=',', quotechar='"')
  29.         save_csv(f_name, reader)

  30. if __name__ == '__main__':
  31.     f_name = '000001.csv'
  32.     reader = get_pag()   
  33.         


  34. #把爬到的数据,计算派生变量

  35. mdata = pd.read_csv('000001.csv',encoding='gbk')
  36. x2 = pd.to_datetime(mdata['日期'],format='%Y-%m-%d')
  37. mdata['day'] = x2.dt.strftime('%Y%m%d')
  38. mdata.sort_values(['day'], ascending=True, inplace=  True)


  39. col = ['收盘价','成交量']
  40. mdata[col] = mdata[col].apply(pd.to_numeric, errors='ignore')

  41. lis = [5,10,20,40]

  42. for i in col:
  43.     for n in lis:      
  44.         mdata[i+'_'+str(n)] = mdata[i].rolling(n).mean()
  45.         
  46.         
  47. mdata['day1'] = mdata['day'].shift(-1)        
  48. mdata.to_csv('ok.csv',encoding='gbk')
  49.         
  50.         
  51.         

  52.       
  53.         
  54.         
  55.         
  56.         
  57.         
  58.         
  59.         
  60.         
  61.         
  62.         
  63.         
  64.         
  65.         
  66.         
  67.         
  68.         
  69.         
  70.         
  71.         
  72.         
  73.         
  74.         
  75.         
  76.         
  77.         
  78.         
复制代码


回复

使用道具 举报

0

主题

2

帖子

8

积分

新手上路

Rank: 1

积分
8
发表于 2021-3-10 15:23:19 | 显示全部楼层
真的能爬到数据,虽然暂时没用,但是感觉以后用得着,膜拜大佬
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|数据家园 ( 蜀ICP备13007024号 )

GMT+8, 2021-4-12 08:47 , Processed in 0.041159 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表