2022-01-16 10:10:03    11    0    0
  1. # 将站名从json里加载到python dict里
  2. import json
  3. import requests
  4. with open("station_name.json", "r", encoding="utf-8") as file:
  5. station_names = json.load(file)
  6. #1. 定义cookie, 从浏览器上复制标头里的Cookie信息
  7. #2. requests.get方法中使用cookies参数传递cookie
  8. cookie = {
  9. "Cookie": "_uab_collina=163989662013689087788656; JSESSIONID=6F71D581C0B79F538C48D84671D90C59; _jc_save_fromStation=%u5317%u4EAC%2CBJP; _jc_save_toStation=%u4E0A%u6D77%2CSHH; _jc_save_wfdc_flag=dc; BIGipServerpassport=904397066.50215.0000; guidesStatus=off; highContrastMode=defaltMode; cursorStatus=off; RAIL_EXPIRATION=1641978502826; RAIL_DEVICEID=lRZ-NZ8KVvenlmxGVRDY6sEQLl9vfztTy046woUuXxahLWPUQEiV1Z0CvmDakEt9nFIjADCwL1Bc_wWLHO3K7q553hxN_R18_cfYCT2lOIuBCcW5HyG6yLGYwmhZfZfVdB3ajjcpMk5uS4OT3vKzTugHJ27YBf5l; route=9036359bb8a8a461c164a04f8f50b252; _jc_save_toDate=2022-01-09; BIGipServerotn=149946890.50210.0000; _jc_save_fromDate=2022-01-09"
  10. }
  11. # 1. 将出发日期/起始站/到达站 定义成变量
  12. # 2. 将变量放入url(网络地址)中进行网络请求(request
2022-01-16 10:09:14    4    0    0
  1. '''
  2. 如何查看网络请求: 打开浏览器, 通过F12快捷键打卡开发者工具, 在开发者工具网络(Network)选项卡中查看网络请求
  3. 浏览网站流程:
  4. 1. 客户端(浏览器)发送网络请求
  5. 2. 服务器(12306网站服务端)接收到用户请求,处理用户请求
  6. 3. 服务器发送处理结果给客户端(浏览器)
  7. 网络名词:
  8. Url: 是网站的唯一标识, 是网站的地址, 通过在浏览器中输入url即可访问指定的网站
  9. Cookie: 网站识别用户的唯一标识
  10. url类似于门牌号, cookie类似于钥匙
  11. JSESSIONID=53E77D821DFA1A6370BF18B68D00D526; route=9036359bb8a8a461c164a04f8f50b252; BIGipServerotn=955253258.50210.0000; RAIL_EXPIRATION=1640156627608; RAIL_DEVICEID=HHUFxIoyq5IJ3XCexA1nnSNQtNz3vdfdA43QeppBvaM_rEhMdmROm-u3lkTrouIfO2De29t5zllpye_T-ZRw4wLXT00unHv7UxpO5NfFZjJQ4YuAfMfpUoKBEfxnLZgOXkOAu1L421JWJbzDmHykIonNyxG6DEyy; guidesStatus=off; highContrastMode=defaltMode; cursorStatus=off
  12. requests模块: 模拟客户端进行url请求
  13. 使用pip安装request模块: 打开cmd,运行 pip install requests
  14. '''
  15. import requests # 导入request模块
  16. # 使用request的get方法模拟浏览器访问12306网页
  17. response = requests.get('https://kyfw.12306.cn/otn/resources/js/framework/station_name.js?station_version=1.9217')
  18. split_result = response.text.split('@')
  19. # print(split_result)
  20. '''
  21. 忽略列表里
2022-01-16 09:47:30    28    0    0

2022-01-16 10:08:49    9    0    0
  1. '''
  2. 如何查看网络请求: 打开浏览器, 通过F12快捷键打卡开发者工具, 在开发者工具网络(Network)选项卡中查看网络请求
  3. 浏览网站流程:
  4. 1. 客户端(浏览器)发送网络请求
  5. 2. 服务器(12306网站服务端)接收到用户请求,处理用户请求
  6. 3. 服务器发送处理结果给客户端(浏览器)
  7. 网络名词:
  8. Url: 是网站的唯一标识, 是网站的地址, 通过在浏览器中输入url即可访问指定的网站
  9. Cookie: 网站识别用户的唯一标识
  10. url类似于门牌号, cookie类似于钥匙
  11. JSESSIONID=53E77D821DFA1A6370BF18B68D00D526; route=9036359bb8a8a461c164a04f8f50b252; BIGipServerotn=955253258.50210.0000; RAIL_EXPIRATION=1640156627608; RAIL_DEVICEID=HHUFxIoyq5IJ3XCexA1nnSNQtNz3vdfdA43QeppBvaM_rEhMdmROm-u3lkTrouIfO2De29t5zllpye_T-ZRw4wLXT00unHv7UxpO5NfFZjJQ4YuAfMfpUoKBEfxnLZgOXkOAu1L421JWJbzDmHykIonNyxG6DEyy; guidesStatus=off; highContrastMode=defaltMode; cursorStatus=off
  12. requests模块: 模拟客户端进行url请求
  13. 使用pip安装request模块: 打开cmd,运行 pip install requests
  14. '''
  15. import requests # 导入request模块
  16. # 使用request的get方法模拟浏览器访问12306网页
  17. response = requests.get('https://kyfw.12306.cn/otn/resources/js/framework/station_name.js?station_version=1.9217')
  18. split_result = response.text.split('@')
  19. print(response.text.split('@'
5/5