In [1]:
import requests,re
In [ ]:
data = {
'cs': 1,
'pickupCity': process.env.AIRPORT,
'pickupAsAirport': 'True',
'dropoffCity': process.env.AIRPORT,
'dropoffAsAirport': 'True',
'pickupDate': '09/11/2017',
'dropoffDate': '10/09/2017',
'pickupTime': '09:00 AM',
'dropoffTime': '09:00 AM',
'driverAge': '25'
}
In [ ]:
data = {
'rcs':'1',
'driverAge':'25',
'pickupZip':'60615',
'pickupCityLocationTypeSearch':'2',
'dropoffZip':'60615',
'dropoffCityLocationTypeSearch':'2',
'pickupCountry':'US',
'dropoffCountry':'US',
'pickupCityRadius':'25',
'dropoffCityRadius':'25',
'pickupAsAirport':'false',
'dropoffAsAirport':'false',
'pickupDate':'09/11/2017',
'dropoffDate':'10/09/2017',
'pickupTime':'09:00 AM',
'dropoffTime':'09:00 AM',
'pickupLocationCode':'60615',
'pickupLocationName':'60615 (CHICAGO, IL, US)',
'pickupLocationType':'zipCode',
'pickupLocationCityCode':'CHICAGO',
'pickupLocationStateCode':'',
'pickupLatitude':'',
'pickupLongitude':'',
'dropoffLocationCode':'60615',
'dropoffLocationName':'60615 (CHICAGO, IL, US)',
'dropoffLocationType':'zipCode',
'dropoffLocationCityCode':'CHICAGO',
}
In [ ]:
data = {
'cs':'1',
'driverAge':'25',
'pickupZip':'60615',
'pickupCityLocationTypeSearch':'2',
'dropoffZip':'60615',
'dropoffCityLocationTypeSearch':'2',
'pickupCountry':'US',
'dropoffCountry':'US',
'pickupCityRadius':'25',
'dropoffCityRadius':'25',
'pickupAsAirport':'false',
'dropoffAsAirport':'false',
'pickupDate':'09/11/2017',
'dropoffDate':'10/09/2017',
'pickupTime':'09:00 AM',
'dropoffTime':'09:00 AM',
'pickupLocationCode':'60615',
'pickupLocationName':'60615 (CHICAGO, IL, US)',
'pickupLocationType':'zipCode',
'pickupLocationCityCode':'CHICAGO',
'pickupLocationStateCode':'',
'pickupLatitude':'',
'pickupLongitude':'',
'dropoffLocationCode':'60615',
'dropoffLocationName':'60615 (CHICAGO, IL, US)',
'dropoffLocationType':'zipCode',
'dropoffLocationCityCode':'CHICAGO',
}
In [ ]:
data = {
'cs': 1,
'pickupCity': 'CHICAGO, IL, US',
'pickupAsAirport': 'False',
'dropoffCity': 'CHICAGO, IL, US',
'dropoffAsAirport': 'False',
'pickupDate': '09/11/2017',
'dropoffDate': '10/09/2017',
'pickupTime': '09:00 AM',
'dropoffTime': '09:00 AM',
'driverAge': '25'
};
In [ ]:
data = {
'cs': 1,
'pickupCity': 'ORD',
'pickupAsAirport': 'True',
'dropoffCity': 'ORD',
'dropoffAsAirport': 'True',
'pickupDate': '09/11/2017',
'dropoffDate': '10/09/2017',
'pickupTime': '09:00 AM',
'dropoffTime': '09:00 AM',
'driverAge': '25'
}
In [2]:
data = {
'rcs':'1',
'driverAge':'25',
'pickupZip':'60615',
'pickupCityLocationTypeSearch':'2',
'dropoffZip':'60615',
'dropoffCityLocationTypeSearch':'2',
'pickupCountry':'US',
'dropoffCountry':'US',
'pickupCityRadius':'25',
'dropoffCityRadius':'25',
'pickupAsAirport':'false',
'dropoffAsAirport':'false',
'pickupDate':'09/11/2017',
'dropoffDate':'10/09/2017',
'pickupTime':'09:00 AM',
'dropoffTime':'09:00 AM',
'pickupLocationCode':'60615',
'pickupLocationName':'60615 (CHICAGO, IL, US)',
'pickupLocationType':'zipCode',
'pickupLocationCityCode':'CHICAGO',
'pickupLocationStateCode':'',
'pickupLatitude':'',
'pickupLongitude':'',
'dropoffLocationCode':'60615',
'dropoffLocationName':'60615 (CHICAGO, IL, US)',
'dropoffLocationType':'zipCode',
'dropoffLocationCityCode':'CHICAGO',
'dropoffLocationStateCode':'',
'dropoffLatitude':'',
'dropoffLongitude':'',
'fromHomePage':'true',
'fromCarVendorMainMenu':'true',
'carSearchInModifyFlow':'false',
'suppressOutput':'false',
#'uid':'1504750265762_835.0398291228158'
}
In [4]:
headers3 = {
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36',
'Referer':'https://www.costcotravel.com',
}
In [5]:
url = 'https://www.costcotravel.com/h=4005'
r3 = requests.get(url,headers=headers3)
cks = r3.cookies
print(cks.keys())
In [ ]:
r3.text
In [6]:
res = re.search('\(\"Csrf-token\", \"(\S{128})\"\)',r3.text)
csrf = res.group(1)
print(csrf)
res = re.search('namespace.sessionTimestamp = (\d{10,20});',r3.text)
ts = res.group(1)
print(ts)
In [7]:
headers = {
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36',
'Referer':'https://www.costcotravel.com/h=4005',
'X-Csrf-Token':csrf
}
In [9]:
cks.set('Csrf-token',csrf)
if 'SESSION_TIME_OUT_DETECTED' in cks: cks.pop('SESSION_TIME_OUT_DETECTED')
cks.set('SESSION_TIMESTAMP',str(ts))
print(cks.keys())
In [10]:
#r = requests.post('https://www.costcotravel.com/carSearch.act', data = data)
r = requests.post('https://www.costcotravel.com/rentalCarSearch.act', data = data, headers = headers, cookies = cks)
In [12]:
r
Out[12]:
In [13]:
r.cookies
Out[13]:
In [ ]:
In [14]:
headers2 = {
'Referer':'https://www.costcotravel.com/h=3001',
'Host':'www.costcotravel.com',
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36',
'X-Csrf-Token':csrf
}
In [15]:
data2 = {
'cas':'Load_Forword_Navigation_From_Agency_Results',
'carAgenciesForVendors':'[{"vendorId":"ET","agencyCodes":["E11576"]}]',
#'uid':'1504759332852_756.0475947513028'
}
In [ ]:
cks = {
'BIGipServerpool-prod-app':'!KVEQC734OTbZZozCd3dqWKLWYEL+b9cYpVT5cOp+9Pcl3otaoNpjcoeVUeCstjybgSvz4SYTPBKZNA==',
'JSESSIONID':'D82AF93C4B4A95CC34A0E05877BC99EC',
'Csrf-token':'a6bde9e63fe5e71ffee7713a03d01764e5c4fa9bce6c4fc742bd86859dd90b4c55eaded79c674adef1fe30a7167caaf541fc6660228a7b43123651e878117d96',
'SESSION_TIMESTAMP':'1504759316769'
}
In [16]:
r2 = requests.post('https://www.costcotravel.com/rentalCarAgencySelection.act',data=data2,cookies=cks,headers=headers2)
In [ ]:
r2
In [17]:
r2.text
Out[17]:
In [ ]:
import re
In [ ]:
re.findall('\d,\d{3}',r.text)
In [ ]: