Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Tulis program Python untuk merangkak aliran dana sektor

Tulis program Python untuk merangkak aliran dana sektor

WBOY
WBOYke hadapan
2023-04-13 10:07:021757semak imbas

Tulis program Python untuk merangkak aliran dana sektor

Melalui contoh merangkak aliran modal saham individu di atas, anda seharusnya boleh belajar menulis kod rangkak anda sendiri. Sekarang satukan dan lakukan latihan kecil yang serupa. Anda perlu menulis program Python anda sendiri untuk merangkak aliran modal sektor dalam talian. URL yang dirangkak ialah http://data.eastmoney.com/bkzj/hy.html, dan antara muka paparan ditunjukkan dalam Rajah 1.

Tulis program Python untuk merangkak aliran dana sektor

Rajah 1 Rajah 1 Plate Mengalir Laman Web

1, cari js

Tekan terus butang F12, buka alat pembangunan dan pentauliahan dan cari data Halaman web yang sepadan ditunjukkan dalam Rajah 2.

Tulis program Python untuk merangkak aliran dana sektor

Rajah 2 Cari halaman web yang sepadan dengan JS

dan kemudian masukkan URL ke dalam penyemak imbas URLnya agak panjang.

http://push2.eastmoney.com/api/qt/clist/get?cb=jQuery112309073354919152763_1617455258434&pn=1&pz=500&po=1&np=2%Cf1&np=1&np=152763 =f62&fs=m%3A90 % 2Bt%3A2&ut=b2884a393a59ad64002292a3e90d46a5&_=1617455258435

Pada masa ini, anda akan mendapat maklum balas daripada tapak web, seperti yang ditunjukkan dalam Rajah 3.

Tulis program Python untuk merangkak aliran dana sektor

Rajah 3 Mendapatkan bahagian dan aliran dana daripada tapak web

Kandungan yang sepadan dengan URL ini ialah kandungan yang ingin kami rangkak.

2, permintaan permintaan dan status respons respons

Tulis kod perangkak, lihat kod berikut untuk butiran:

# coding=utf-8
import requests
url=" http://push2.eastmoney.com/api/qt/clist/get?cb=jQuery112309073354919152763_
1617455258436&fid=f62&po=1&pz=50&pn=1&np=1&fltt=2&invt=2&ut=b2884a393a59ad64002292a3
e90d46a5&fs=m%3A90+t%3A2&fields=f12%2Cf14%2Cf2%2Cf3%2Cf62%2Cf184%2Cf66%2Cf69%2Cf72%2
Cf75%2Cf78%2Cf81%2Cf84%2Cf87%2Cf204%2Cf205%2Cf124"
r = requests.get(url)
r.status_code memaparkan 200, menunjukkan bahawa status tindak balas adalah normal. r.text juga mempunyai data, menunjukkan bahawa merangkak data aliran modal berjaya, seperti yang ditunjukkan dalam Rajah 4.

Tulis program Python untuk merangkak aliran dana sektor

Rajah 4 status respons

3, bersihkan str ke dalam format standard JSON

(1) Analisis data r.teks. Format dalamannya ialah JSON standard, tetapi dengan beberapa awalan tambahan di hadapan. Keluarkan awalan jQ dan gunakan fungsi split() untuk menyelesaikan operasi ini. Lihat kod berikut untuk butiran:

r_text=r.text.split("{}".format("jQuery112309073354919152763_1617455258436"))[1]
r_text
Keputusan berjalan ditunjukkan dalam Rajah 5.

Tulis program Python untuk merangkak aliran dana sektor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 . Lihat kod berikut untuk butiran:

Keputusan berjalan ditunjukkan dalam Rajah 6.

r_text_qu=r_text.rstrip(';')
r_text_json=json.loads(r_text_qu[1:-1])['data']['diff']
dfcf_code={"f12":"code","f2":"价格","f3":"涨幅","f14":"name","f62":"主净入√","f66":"超净入","f69":"超占比", "f72":"大净入","f75":"大占比","f78":"中净入","f81":"中占比","f84":"小净入","f87":"小占比","f124":"不知道","f184":"主占比√"}
result_=pd.DataFrame(r_text_json).rename(columns=dfcf_code)
result_["主净入√"]=round(result_["主净入√"]/100000000,2)#一亿,保留2位
result_=result_[result_["主净入√"]>0]
result_["超净入"]=round(result_["超净入"]/100000000,2)#一亿,保留2位
result_["大净入"]=round(result_["大净入"]/100000000,2)#一亿,保留2位
result_["中净入"]=round(result_["中净入"]/100000000,2)#一亿,保留2位
result_["小净入"]=round(result_["小净入"]/100000000,2)#一亿,保留2位
result_

 Data menggunakan fungsi to_csv() Simpannya secara setempat, seperti ditunjukkan dalam Rajah 7. Tulis program Python untuk merangkak aliran dana sektor

Melalui dua contoh fund crawling di atas, anda pasti telah memahami beberapa kaedah menggunakan crawler. Idea terasnya ialah:

(1) Pilih kelebihan aliran modal saham individu

(2) Dapatkan alamat laman web dan analisisnya

(3) Gunakan perangkak untuk mengumpul data Dapatkan dan simpan data.

Rajah 6 Penjimatan Data

Ringkasan

Data format JSON ialah salah satu daripada format data piawai yang digunakan oleh banyak tapak web format pertukaran yang sangat mudah dibaca dan ditulis, dan boleh meningkatkan kecekapan penghantaran rangkaian dengan berkesan. Perkara pertama yang perlu dirangkak ialah rentetan dalam format str Melalui pemprosesan dan pemprosesan data, ia ditukar kepada format JSON standard, dan kemudian ke dalam format Pandas. Tulis program Python untuk merangkak aliran dana sektor

Melalui analisis kes dan pertempuran sebenar, kita mesti belajar menulis kod kita sendiri untuk merangkak data kewangan dan mempunyai keupayaan untuk menukarnya kepada format standard JSON. Lengkapkan rangkak data harian dan kerja penyimpanan data untuk menyediakan sokongan data yang berkesan untuk ujian sejarah masa hadapan dan analisis sejarah data.

Sudah tentu, pembaca yang berkebolehan boleh menyimpan hasil dalam pangkalan data seperti MySQL, MongoDB, atau pangkalan data awan Mongo Atlas Penulis tidak akan menumpukan pada penjelasan di sini. Kami memberi tumpuan sepenuhnya kepada kajian pembelajaran dan strategi kuantitatif. Menggunakan format txt untuk menyimpan data boleh menyelesaikan sepenuhnya masalah penyimpanan data awal, dan data juga lengkap dan berkesan.

Atas ialah kandungan terperinci Tulis program Python untuk merangkak aliran dana sektor. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:51cto.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam