Maison > Article > développement back-end > Écrivez un programme Python pour explorer les flux de fonds des secteurs
Grâce à l'exemple ci-dessus d'exploration du flux de capitaux d'actions individuelles, vous devriez pouvoir apprendre à écrire votre propre code d'exploration. Maintenant, consolidez-le et faites un petit exercice similaire. Vous devez écrire votre propre programme Python pour analyser les flux de capitaux des secteurs en ligne. L'URL analysée est http://data.eastmoney.com/bkzj/hy.html et l'interface d'affichage est illustrée dans la figure 1.金 Figure 1 L'interface du site Web de flux de fonds
1, recherchez JS
Appuyez directement sur la touche F12, ouvrez la page Web correspondant aux outils de développement et de mise en service et recherchez les données correspondant aux données, comme le montre la figure 2.Figure 2 Recherchez la page web correspondant à JS
Saisissez ensuite l'URL dans le navigateur, l'URL est relativement longue.
http://push2.eastmoney.com/api/qt/clist/get?cb=jQuery112309073354919152763_1617455258434&pn=1&pz=500&po=1&np=1&fields=f12%2Cf13%2Cf14%2Cf62&fid =f62 &fs=m%3A90%2Bt%3A2&ut= b2884a393a59ad64002292a3e90d46a5&_=1617455258435 À ce stade, vous recevrez des commentaires du site Web, comme le montre la figure 3.Figure 3 Obtention des sections et des flux de fonds à partir du site Web
Le contenu correspondant à cette URL est le contenu que nous souhaitons explorer.
2, demande de demande et état de réponse de réponse Écrivez le code du robot, voir le code suivant pour plus de détails :# 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 affiche 200, indiquant que l'état de réponse est normal. r.text contient également des données indiquant que l'exploration des données sur les flux de capitaux a réussi, comme le montre la figure 4.
Statut de réponse de la figure 4
3, nettoyez str au format standard JSON
(1) Analysez les données r.text. Son format interne est JSON standard, mais avec quelques préfixes supplémentaires devant. Supprimez le préfixe jQ et utilisez la fonction split() pour terminer cette opération. Voir le code suivant pour plus de détails :r_text=r.text.split("{}".format("jQuery112309073354919152763_1617455258436"))[1] r_textLes résultats d'exécution sont présentés dans la figure 5.的 Figure 5 Supprimez les résultats d'exécution du préfixe (2) Triez les données JSON. Voir le code suivant pour plus de détails :
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_Les résultats d'exécution sont présentés dans la figure 6. . À travers les deux exemples d'exploration de fonds ci-dessus, vous devez avoir compris certaines des méthodes d'utilisation des robots d'exploration. L'idée principale est la suivante : (1) Sélectionnez les avantages des flux de capitaux individuels ; (2) Obtenez l'adresse du site Web et analysez-la
(3) Utilisez des robots d'exploration pour obtenir des données et les enregistrer.
Figure 6 Sauvegarde des données Résumé Les données au format JSON sont l'un des formats de données standardisés utilisés par de nombreux sites Web. Il s'agit d'un format d'échange de données léger, très facile à lire et à écrire, et qui peut améliorer efficacement le réseau. efficacité des transmissions. La première chose à explorer est la chaîne au format str Grâce au traitement et au traitement des données, elle est transformée au format JSON standard, puis au format Pandas.Grâce à l'analyse de cas et au combat réel, nous devons apprendre à écrire notre propre code pour explorer les données financières et avoir la capacité de les convertir au format standard JSON. Effectuer le travail quotidien d'exploration et de stockage des données pour fournir un support de données efficace pour les futurs tests historiques et l'analyse historique des données.
Bien entendu, les lecteurs avertis peuvent sauvegarder les résultats dans des bases de données telles que MySQL, MongoDB ou même la base de données cloud Mongo Atlas. L'auteur ne se concentrera pas sur l'explication ici. Nous nous concentrons entièrement sur l’étude de l’apprentissage quantitatif et de la stratégie. L'utilisation du format txt pour enregistrer les données peut résoudre complètement le problème du stockage précoce des données, et les données sont également complètes et efficaces.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!