我试图从
获取数据https://www.biman-airlines.com/bookings/flight_selection.aspx
例如,当我选择从达卡(DAC)飞往锡尔赫特(ZYL)的航班时,它会转到
并显示航班信息
但是当我尝试使用python执行此类请求时,它显示没有信息
这是我的代码:
import requests
print(requests.get('https://www.biman-airlines.com/bookings/flight_selection.aspx?TT=RT&SS=&RT=&FL=on&DC=DAC&AC=ZYL&AM=2018-01&AD=09&DC=&AC=&AM=&AD=&DC=&AC=&AM=&AD=&DC=&AC=&AM=&AD=&RM=2018-01&RD=10&PA=1&PT=&PC=&PI=&CC=&NS=&CD=&FS=').text)
我做错了什么?
提前感谢任何帮助
答案 0 :(得分:1)
但是当我尝试使用python执行此类获取请求时,它显示没有信息。我做错了什么?
请求结果显示没有信息,因为python HTTP请求中没有cookie数据。
如果您在浏览器调试窗口中检查HTTP请求,您可以看到cookie和请求一起 - cookie识别客户端是谁并告诉服务器"嗨,服务器,我有效用户&#34 ;:
有了合理的猜测,在这个biman-airlines.com案例中,只有在cookie有效的情况下,服务器才会检查cookie并返回结果。
因此,您需要在python代码中添加Cookie
标头:
# The cookie below is just for example, you would get your own cookie once visiting the website.
headers = {
'Cookie': 'chocolateChip=nbixfy44dvziejjdxd2wmzs3; BNI_bg_zapways=0000000000000000000000009301a8c000005000; ASPSESSIONIDSQDCSSDT=PFJPADACFOGBDMONPBHPMFJN'
}
print(requests.get('https://www.biman-airlines.com/bookings/flight_selection.aspx?TT=RT&SS=&RT=&FL=on&DC=DAC&AC=ZYL&AM=2018-01&AD=09&DC=&AC=&AM=&AD=&DC=&AC=&AM=&AD=&DC=&AC=&AM=&AD=&RM=2018-01&RD=10&PA=1&PT=&PC=&PI=&CC=&NS=&CD=&FS=B4B9631', headers=headers).text)