だから私はこのmetasearchエンジンから最低限のホテルを掻き分けなければならない。しかし、それをすることができません。クラスがある要素を見つけているうちに空のリストが表示されます。要求は、私が望む正しいhtmlを取得していますが。私は何をすべきかわかりません? ここに私のコードです:kayak.comから特定の地域のホテルの最低価格を削るには?
# -*- coding: utf-8 -*-
"""
Created on Sat Jul 09 13:30:55 2016
@author: sroy
"""
import requests
from bs4 import BeautifulSoup
url = "https://www.kayak.co.in/hotels/Kolkata,India-c44834/2016-07-09/2016-07-10/2guests"
headers = {
'Accept':"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8",
'Accept-Encoding':"gzip, deflate, sdch, br",
'Accept-Language':"en-US,en;q=0.8",
'Cache-Control':"max-age=0",
'Connection':"keep-alive",
'DNT':1,
'Host':"www.kayak.co.in",
'Referer':"https://www.kayak.co.in/hotels",
'Upgrade-Insecure-Requests':1,
'User-Agent':"Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36"
}
req = requests.get(url, headers=headers)
soup = BeautifulSoup(req.text.encode('utf-8'))
hotel_name = soup.find_all(".title")
price_elems = soup.find_all(".price")
for hotel in hotel_name:
i=0
print hotel_name[i]
print price_elems[i]
i+=1
それは何も印刷されていません。理由を知らない。あなたはCSS selectorsを使用しますが、find_all()
方法の代わりに、select()
にそれらを渡しているPROB
チェックイン/アウトの日付や場所はどこに入力していますか? URL内の –
https://www.kayak.co.in/hotels – sumitroy