爬金融数据

最喜欢的爬取的就是由前端数据,返回的json全是数据特别好弄,而且还可以根据需求构造网址,一次取回所需数据。
这次爬的是东方财富网的股东人数,地址是http://data.eastmoney.com/gdhs/0/2018-06-30.html
页面选中2018中报


可以看到有69页*50行这样多的数据,通过翻页可以看到数据的传输情况。
地址是http://data.eastmoney.com/DataCenter_V3/gdhs/GetList.ashx?reportdate=2018-06-30&market=&changerate==&range==&pagesize=50&page=2&sortRule=-1&sortType=NoticeDate&js=var%20DzSDuvmw¶m=&rt=51196634
pagesize一次获取的数据量,就是返回的json所含数据量,reportdate: 2018-06-30这是报告期,page第几页。

看看json,果然是这样。


知道这些之后就能构造网址例行爬取了。

url ='http://data.eastmoney.com/DataCenter_V3/gdhs/GetList.ashx?reportdate=2018-06-30&market=&changerate==&range==&pagesize=4000&page=1&sortRule=-1&sortType=NoticeDate&js=var%20DzSDuvmw¶m=&rt=51196634'
    file = requests.get(url).text
    m = re.search('"data":(\[.*\])', file).group(1)
    da = pd.read_json(m, dtype={'SecurityCode': str})
    da.to_excel('gudongrenshu2018-6-30.xls', encoding='utf-8')

这就是5行爬取3400+数据

你可能感兴趣的:(爬金融数据)