Maison  >  Article  >  Tutoriel système  >  Utilisez le code Python pour récupérer automatiquement les billets de train

Utilisez le code Python pour récupérer automatiquement les billets de train

WBOY
WBOYavant
2024-04-25 08:25:29347parcourir

用 Python 代码自动抢火车票

Tout le monde devrait être très familier avec de nombreux logiciels de saisie de billets de train sur le marché, mais peu de gens ont étudié comment ils sont mis en œuvre, donc ils pensent que c'est mystérieux, mais c'est en fait très simple. Ce qui suit utilise Python pour simuler le programme de récupération de tickets afin de vous révéler quel est le processus de récupération de tickets.

Ce code est uniquement à titre de référence et est principalement utilisé à des fins de communication. L'utilisation commerciale est interdite.

Le code spécifique est le suivant, vous pouvez le modifier avec votre propre compte 12306 :

用 Python 代码自动抢火车票

Outils de préparation
  • 12306 nom d'utilisateur et mot de passe du site Web
  • Python
  • navigateur Chrome et téléchargez Chromedriver
  • Téléchargez le code Python sur : https://github.com/ppy2790/tickets

Le code est développé à l'aide de Python+Slinter est un outil de test d'applications Web open source développé à l'aide de Python. Il peut vous aider à parcourir et à interagir automatiquement avec le site. Site officiel de Splinter

http://splinter.readthedocs.io/en/latest/ . Lorsque Splinter est exécuté, il ouvrira automatiquement le navigateur que vous spécifiez et accédera à l'URL spécifiée. Ensuite, tout comportement de la simulation que vous développez sera complété automatiquement. Il vous suffit de vous asseoir devant l'ordinateur, de regarder les différentes actions à l'écran se terminer automatiquement et de collecter les résultats comme si vous regardiez un film.

Comprendre le principe

Trouvez l'URL correspondante et recherchez les contrôles pour simuler les opérations de connexion, de requête et de réservation de billets. La clé est de trouver le nom du contrôle. La difficulté est que le point de départ n'est pas la valeur de la page saisie directement, et qu'il faut la retrouver dans le cookie.

  • URL de requête 12306 : https://kyfw.12306.cn/otn/leftTicket/init
  • 12306 URL de connexion : https://kyfw.12306.cn/otn/login/init
  • Mon 12306URL : https://kyfw.12306.cn/otn/index/initMy12306
  • URL de confirmation d'achat de billet : https://kyfw.12306.cn/otn/confirmPassenger/initDc

Le code Python ouvre l'URL et trouve la valeur de remplissage du contrôle :

用 Python 代码自动抢火车票

用 Python 代码自动抢火车票

Trouvez le nom d'utilisateur et le nom de contrôle du mot de passe

用 Python 代码自动抢火车票

Trouvez le nom du contrôle de départ

Pour déterminer la valeur du point de départ, utilisez la fonction "Inspecter" dans le navigateur Chrome (appuyez sur F12) et retrouvez-la dans Réseau --->

用 Python 代码自动抢火车票

La valeur de l'emplacement de départ dans le cookie

Copiez la valeur du cookie du lieu de départ. J'ai copié plusieurs villes couramment utilisées et les ai mises dans le dictionnaire :

用 Python 代码自动抢火车票

Vérifiez le code du billet :

用 Python 代码自动抢火车票

En fait, il vous suffit d'exécuter le code :

用 Python 代码自动抢火车票

Bien sûr, ce qu'il faut encore cliquer manuellement, c'est le méchant code de vérification 12306. Confirmez simplement le paiement après avoir récupéré le ticket.

用 Python 代码自动抢火车票

La récupération des billets est en cours

用 Python 代码自动抢火车票

Réussite pour récupérer des billets !

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer