Requests 库是 Python 中发起 HTTP 请求的库,使用非常方便简单。
发送 GET 请求
当我们用浏览器打开东旭蓝天股票首页时,发送的最原始的请求就是 GET 请求,并传入url参数.
import requests url='http://push2his.eastmoney.com/api/qt/stock/fflow/daykline/get'
用Python requests库的get函数得到数据并设置header.
header={ 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36' }
得到数据的data.
data={ 'cb': 'jQuery1123026726575651052076_1633873068863', 'lmt': '0', 'klt':' 101', 'fields1': 'f1,f2,f3,f7', 'fields2': 'f51,f52,f53,f54,f55,f56,f57,f58,f59,f60,f61,f62,f63,f64,f65', 'ut': 'b2884a393a59ad64002292a3e90d46a5', 'secid': '0.000040', '_': '1633873068864' }
我们使用 content 属性来获取网站返回的数据,并命名为sd.
sd=requests.get(url=url,headers=header,data=data).content
json库可以自字符串或文件中解析JSON。 该库解析JSON后将其转为Python字典或者列表。re模块是python独有的匹配字符串的模块,该模块中提供的很多功能是基于正则表达式实现的,而正则表达式是对字符串进行模糊匹配,提取自己需要的字符串部分.
import json import re text=str(sd,'utf-8') res=re.findall(r'[(](.*?)[)]',text) re=json.loads(res[0]) p=re['data']['klines']
得到了需要的数据,但此时数据是杂乱无章的,将其保存到txt文件中.
with open('./pc.txt','w',encoding='utf-8')as fp: fp.write(str(p))
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)