Python采集天天基金數(shù)據(jù)掌握最新基金動向
案例實(shí)現(xiàn)流程
思路分析:
- 需要什么數(shù)據(jù)?需要的數(shù)據(jù)在哪里?
代碼實(shí)現(xiàn):
- 發(fā)送請求
- 獲取數(shù)據(jù)
- 解析數(shù)據(jù)
- 多頁爬取
- 保存數(shù)據(jù)
知識點(diǎn):
requests發(fā)送請求- 開發(fā)者工具的使用
json類型數(shù)據(jù)解析- 正則表達(dá)式的使用
開發(fā)環(huán)境:
- 版 本:python 3.8
- 編輯器:pycharm 2021.2
本次目標(biāo):


一、分析網(wǎng)站
第一步:打開開發(fā)者工具,按F12,或者右鍵點(diǎn)擊檢查
第二步:刷新網(wǎng)站,點(diǎn)擊搜索工具,在搜索框內(nèi)輸入基金代碼,點(diǎn)擊搜索

第三步:找到數(shù)據(jù)所在的真實(shí)url

二、開始代碼
導(dǎo)入模塊:
import requests ? ? import re import csv
發(fā)送請求:
url = f'http://fund.eastmoney.com/data/rankhandler.aspx?op=ph&dt=kf&ft=all&rs=&gs=0&sc=6yzf&st=desc&sd=2020-12-16&ed=2021-12-16&qdii=&tabSubtype=,,,,,&pi=1&pn=50&dx=1'
headers = {
? ? 'Cookie': 'HAList=a-sz-300059-%u4E1C%u65B9%u8D22%u5BCC; em_hq_fls=js; qgqp_b_id=7b7cfe791fce1724e930884be192c85e; _adsame_fullscreen_16928=1; st_si=59966688853664; st_asi=delete; st_pvi=79368259778985; st_sp=2021-12-07%2014%3A33%3A35; st_inirUrl=https%3A%2F%2Fwww.baidu.com%2Flink; st_sn=3; st_psi=20211216201351423-112200312936-0028256540; ASP.NET_SessionId=miyivgzxegpjaya5waosifrb',
? ? 'Host': 'fund.eastmoney.com',
? ? 'Referer': 'http://fund.eastmoney.com/data/fundranking.html',
? ? 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36',
}
response = requests.get(url=url, headers=headers)獲取數(shù)據(jù):
data = response.text
解析數(shù)據(jù) 篩選數(shù)據(jù):
data_str = re.findall('\[(.*?)\]', data)[0]轉(zhuǎn)變數(shù)據(jù)類型:
tuple_data = eval(data_str)
for td in tuple_data:
? ? # 把td 變成列表
? ? td_list = td.split(',')翻頁:
分析不同頁數(shù)url變化規(guī)律

for page in range(1, 193):
? ? print(f'-------------------------正在爬取第{page}頁內(nèi)容-----------------------')
? ? url = f'http://fund.eastmoney.com/data/rankhandler.aspx?op=ph&dt=kf&ft=all&rs=&gs=0&sc=6yzf&st=desc&sd=2020-12-16&ed=2021-12-16&qdii=&tabSubtype=,,,,,&pi={page}&pn=50&dx=1'保存數(shù)據(jù):
with open('基金.csv', mode='a', encoding='utf-8', newline='') as f:
? ? csv_write = csv.writer(f)
? ? csv_write.writerow(td_list)
print(td)三、運(yùn)行代碼,得到數(shù)據(jù)

到此這篇關(guān)于Python采集天天基金數(shù)據(jù)掌握最新基金動向的文章就介紹到這了,更多相關(guān)Python采集天天基金數(shù)據(jù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python django 實(shí)現(xiàn)驗(yàn)證碼的功能實(shí)例代碼
本篇文章主要介紹了python django 實(shí)現(xiàn)驗(yàn)證碼的功能實(shí)例代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-05-05
pandas中concat函數(shù)實(shí)現(xiàn)橫向連接
在pandas中,concat函數(shù)可用于合并不同的Series和DataFrame對象,本文主要介紹了pandas中concat函數(shù)實(shí)現(xiàn)橫向連接,具有一定的參考價(jià)值,感興趣的可以了解一下2024-04-04
Python自動化測試之異常處理機(jī)制實(shí)例詳解
為了保持自動化測試用例的健壯性,異常的捕獲及處理,日志的記錄對掌握自動化測試執(zhí)行情況尤為重要,下面這篇文章主要給大家介紹了關(guān)于Python自動化測試之異常處理機(jī)制的相關(guān)資料,需要的朋友可以參考下2022-06-06
DRF?QuerySet?Instance數(shù)據(jù)庫操作功能概述
這篇文章主要為大家介紹了DRF?QuerySet?Instance數(shù)據(jù)庫處理的功能概述,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-10-10
Python+Selenium實(shí)現(xiàn)短視頻熱點(diǎn)爬取
隨著短視頻的大火,不僅可以給人們帶來娛樂,還有熱點(diǎn)新聞時(shí)事以及各種知識,刷短視頻也逐漸成為了日常生活的一部分。本文將通過Pyhton依托Selenium來爬取短視頻熱點(diǎn),需要的可以參考一下2022-04-04
Python使用統(tǒng)計(jì)函數(shù)繪制簡單圖形實(shí)例代碼
這篇文章主要給大家介紹了關(guān)于Python使用統(tǒng)計(jì)函數(shù)繪制簡單圖形的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05
Python 實(shí)現(xiàn)任意區(qū)域文字識別(OCR)操作
這篇文章主要介紹了Python 實(shí)現(xiàn)任意區(qū)域文字識別(OCR)操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-03-03

