我在这只举一个例子吧,所有的爬去大致都是相同的,知识参数不变
我怕的这个是 700元以上的,7-10号上海的房间信息,需要爬去其他的,只需要改变参数就可以了。
import requests
headers = {
'cookie': '_abtest_userid=095fac2a-14da-4cd0-8381-e089b139e85c; gad_city=96617ee7af8aedd02bbece8583e0066e; Session=SmartLinkCode=U155952&SmartLinkKeyWord=&SmartLinkQuary=&SmartLinkHost=&SmartLinkLanguage=zh; _RF1=221.219.120.51; _RSG=0P4FsxT2grBBaTC9t99ESB; _RDG=28d22abc0b02f92c652772c42ad0d6172c; _RGUID=bd6a09de-f63c-4640-b70e-249dc931d90b; _ga=GA1.2.1514657902.1561456554; _gid=GA1.2.1685208265.1561456554; Union=OUID=index&AllianceID=4897&SID=155952&SourceID=&Expires=1562061353582; MKT_OrderClick=ASID=4897155952&CT=1561456553590&CURL=https%3A%2F%2Fwww.ctrip.com%2F%3Fsid%3D155952%26allianceid%3D4897%26ouid%3Dindex&VAL={"pc_vid":"1561456549525.3bu2lj"}; MKT_Pagesource=PC; magicid=/xaqx3RZtK8YVRsZDN546g8VBqslzzIt0OszKjSUDwzBaLSQv4yIN4/TI76Mhhde; HotelCityID=2split%E4%B8%8A%E6%B5%B7splitShanghaisplit2019-07-10split2019-07-11split0; ASP.NET_SessionId=wcnf5vard2zwzqvmllrnvz02; OID_ForOnlineHotel=15614565495253bu2lj1561456688820102002; _jzqco=%7C%7C%7C%7C1561456602520%7C1.904589316.1561456553656.1561456721760.1561456914461.1561456721760.1561456914461.undefined.0.0.5.5; __zpspc=9.1.1561456553.1561456914.5%232%7Csp0.baidu.com%7C%7C%7C%25E6%2590%25BA%25E7%25A8%258B%7C%23; appFloatCnt=4; _bfa=1.1561456549525.3bu2lj.1.1561456549525.1561456549525.1.14; _bfs=1.14; _bfi=p1%3D102002%26p2%3D102002%26v1%3D14%26v2%3D13',
'origin': 'https://hotels.ctrip.com',
'accept-encoding': 'gzip, deflate, br',
'accept-language': 'zh-CN,zh;q=0.9',
'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36',
'content-type': 'application/x-www-form-urlencoded; charset=UTF-8',
'accept': '*/*',
'cache-control': 'max-age=0',
'authority': 'hotels.ctrip.com',
'referer': 'https://hotels.ctrip.com/hotel/shanghai2',
'if-modified-since': 'Thu, 01 Jan 1970 00:00:00 GMT',
}
data = {
'__VIEWSTATEGENERATOR': 'DB1FBB6D',
'cityName': '%E4%B8%8A%E6%B5%B7',
'StartTime': '2019-07-10',
'DepTime': '2019-07-11',
'RoomGuestCount': '1,1,0',
'txtkeyword': '',
'Resource': '',
'Room': '',
'Paymentterm': '',
'BRev': '',
'Minstate': '',
'PromoteType': '',
'PromoteDate': '',
'operationtype': 'NEWHOTELORDER',
'PromoteStartDate': '',
'PromoteEndDate': '',
'OrderID': '',
'RoomNum': '',
'IsOnlyAirHotel': 'F',
'cityId': '2',
'cityPY': 'shanghai',
'cityCode': '021',
'cityLat': '31.2363508011',
'cityLng': '121.4802384079',
'positionArea': '',
'positionId': '',
'hotelposition': '',
'keyword': '',
'hotelId': '',
'htlPageView': '0',
'hotelType': 'F',
'hasPKGHotel': 'F',
'requestTravelMoney': 'F',
'isusergiftcard': 'F',
'useFG': 'F',
'HotelEquipment': '',
'priceRange': '-2',
'hotelBrandId': '',
'promotion': 'F',
'prepay': 'F',
'IsCanReserve': 'F',
'OrderBy': '99',
'OrderType': '',
'k1': '',
'k2': '',
'CorpPayType': '',
'viewType': '',
'checkIn': '2019-07-10',
'checkOut': '2019-07-11',
'DealSale': '',
'ulogin': '',
'hidTestLat': '0%7C0',
'AllHotelIds': '1193881%2C5599110%2C441585%2C1073814%2C1496646%2C14951359%2C9185171%2C6874402%2C5451488%2C7248211%2C13436038%2C16197084%2C456909%2C22755589%2C15018773%2C6657909%2C4119594%2C1114675%2C1573621%2C12782071%2C23965071%2C661555%2C6337433%2C446917%2C19613794',
'psid': '',
'isfromlist': 'T',
'ubt_price_key': 'htl_search_result_promotion',
'showwindow': '',
'defaultcoupon': '',
'isHuaZhu': 'False',
'hotelPriceLow': '',
'unBookHotelTraceCode': '',
'showTipFlg': '',
'traceAdContextId': 'v2_H4sIAAAAAAAAADXNu00EQRAE0DuPGDDRWYiR%2Bt9TZ5LIapmbtQkPhzTIABOJEFhm9tp8qq56%2BPn8%2Bv0oj99nFmKpS3tvCxuc1bHwVV5qiPBkNQ3SOhiRKoMjPEEzzEbBk0URTsmH768%2BXCt0b6%2BHpxqGm5LAj26kznCa1ZxRTeW4L9L%2F%2BmCqDJqLgHi9xy2Np3MIkY%2Fqp9PzBbGZt5ULoa%2FFgLWsW0iJTtumuLlzo%2FP1ovslvfWibllMWi%2BoWyuQW%2FfuyaT%2BevoDRJN4rkEBAAA%3D',
'allianceid': '0',
'sid': '0',
'pyramidHotels': '14951359_6%7C13436038_11%7C6657909_16%7C23965071_21',
'hotelIds': '1193881_1_1,5599110_2_1,441585_3_1,1073814_4_1,1496646_5_1,14951359_6_1,9185171_7_1,6874402_8_1,5451488_9_1,7248211_10_1,13436038_11_1,16197084_12_1,456909_13_1,22755589_14_1,15018773_15_1,6657909_16_1,4119594_17_1,1114675_18_1,1573621_19_1,12782071_20_1,23965071_21_1,661555_22_1,6337433_23_1,446917_24_1,19613794_25_1',
'markType': '0',
'zone': '',
'location': '',
'type': '',
'brand': '',
'group': '',
'feature': '',
'equip': '',
'bed': '',
'breakfast': '',
'other': '',
'sl': '',
's': '',
'l': '',
'a': '0',
'keywordLat': '',
'keywordLon': '',
'contrast': '0',
'PaymentType': '',
'CtripService': '',
'promotionf': '',
'allpoint': '',
'attachDistance': '0',
'contyped': '0',
'productcode': '',
'star': '4,5',
'page': '1',
'price': 'v700'
}
response = requests.post('https://hotels.ctrip.com/Domestic/Tool/AjaxHotelList.aspx', headers=headers, data=data)
# print(response.json())
a = response.json()
# print(a['hotelPositionJSON'])
for i in a['hotelPositionJSON']:
print(i['name'])
有不明白的可以加博主qq616356241