最喜歡的爬取的就是由前端數據,返回的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+數據