
-对于网络我是个刚入门的小白
-在北京实习因为总是错过公交,而每一趟要隔很久,所以想要写个程序得到公交实时信息,早上起床自动提醒
-请求链接如下:
http://www.bjbus.com/home/ajax_search_bus_stop_token.php?act=busTime&selBLine=381&selBDir=5629881218517385976&selBStop=13
f12 查看 cookie 会填入当前 time(距离 1970 年毫秒数),其他数据都是固定的
用 requests 请求代码如下:
import requests import time url='http://www.bjbus.com/home/ajax_search_bus_stop_token.php' reqParams={ 'act':'busTime', 'selBLine':381, 'selBDir':5629881218517385976,#线路方向 数值固定 'selBStop':2 } serverTime=str(int(time.time())) cookies={ 'Hm_lpvt_2c630339360dacc1fc1fd8110f283748':'1470364087', 'Hm_lvt_2c630339360dacc1fc1fd8110f283748':'1470278160', #这两个时间在一段时间内固定,还没找到生成规律 'PHPSESSID':'e277b63c1cacef68986b6d6f14687384', 'SERVERID':'c40443f9636cc324fbdb5c25c09256b6|'+ str(serverTime)+'1470362358'#只有第一个时间是变化的,后面这个也是一段时间内固定 } headers={ 'Connection':'keep-alive', 'Accept':'application/json,text/Javascript,*/*;q=0.01', 'X-Requested-With':'XMLHttpRequest', 'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.106 Safari/537.36', 'Referer':'http://www.bjbus.com/home/fun_rtbus.php?uSec=00000160&uSub=00000162&sBl=381&sBd=5629881218517385976&sBs=2', 'Accept-Encoding':'gzip, deflate, sdch', 'Accept-Language':'zh-CN,zh;q=0.8', } r=requests.get(url,params=reqParams, headers=headers,cookies=cookies) print(serverTime) print(r.content) #返回 timeout 不知为何 希望各位指教,多谢了!
1 bdbai 2016-08-05 18:05:36 +08:00 via Android Cookie 全删了试试 |