所以我必须从这个元搜索引擎中搜集最少的酒店。但无法做到这一点。所有我得到的都是空列表,而我正在寻找带有类的元素。虽然请求正在获取我想要的正确的HTML。我不知道该怎么办? 这是我的代码:
# -*- 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
它什么都没打印。不知道为什么。什么是问题
答案 0 :(得分:2)
您正在使用CSS selectors,但是将其传递给Employee
方法而不是find_all()
:
select()
尽管如此,我仍然认为你需要一个真正的浏览器,因为它是一个非常动态的网站。无论如何,请务必学习使用条款并保持合法性。