python爬取携程酒店信息
时间: 2023-11-04 19:59:28 浏览: 182
好的,您可以使用 Python 中的 BeautifulSoup 库和 requests 库来爬取携程酒店信息。您可以发送 GET 请求来获取网页源代码,然后使用 BeautifulSoup 库来解析 HTML 标签以获取相应数据。以下是一个示例代码:
```
import requests
from bs4 import BeautifulSoup
url = 'https://hotels.ctrip.com/hotel/changsha28#ctm_ref=hod_sr_lst_dl_n_1_2'
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
hotel_list = soup.find_all('div', class_='hotel_new_list')
for hotel in hotel_list:
hotel_name = hotel.find('a', class_='hotel_name').text
hotel_score = hotel.find('span', class_='hotel_value').text
hotel_price = hotel.find('span', class_='J_price_lowList').text
print(hotel_name, hotel_score, hotel_price)
```
请注意替换 URL 以符合您的需求。
相关问题
写一个用python爬取携程酒店信息的代码
Sure, 以下是一个用 Python 爬取携程酒店信息的示例代码:
```python
import requests
from lxml import etree
def crawl_xiecheng_hotel():
url = 'http://hotels.ctrip.com/hotel/ningbo321'
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36'}
response = requests.get(url, headers=headers)
html = response.content.decode('utf-8')
selector = etree.HTML(html)
hotel_list = []
for hotel in selector.xpath('//div[@class="hotel_item"]'):
name = hotel.xpath('.//h2[@class="hotel_name"]/a/@title')[0]
score = hotel.xpath('.//span[@class="hotel_value"]/text()')[0]
address = hotel.xpath('.//p[@class="hotel_address"]/text()')[0]
hotel_list.append((name, score, address))
return hotel_list
```
可以通过调用 `crawl_xiecheng_hotel` 函数来获取宁波市的酒店列表。当然,你也可以将代码中的 `url` 修改为其他城市的页面链接来获取其他城市的酒店信息。
python爬取携程酒店评论
你好,爬取携程酒店评论需要一些技术知识,以下是一个简单的爬虫示例,供参考:
```python
import requests
from bs4 import BeautifulSoup
url = 'https://hotels.ctrip.com/hotel/dianping/422384_p1t0.html' # 酒店评论页面的 URL
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 Edge/16.16299' # 请求头
}
response = requests.get(url, headers=headers)
soup = BeautifulSoup(response.text, 'html.parser')
reviews = soup.find_all('div', class_='J_commentDetail')
for review in reviews:
print(review.get_text().strip())
```
以上代码使用了 requests 库来发送 GET 请求,并使用 BeautifulSoup 库解析 HTML。在解析后的 HTML 中,我们通过 `find_all` 方法找到了所有评论的 div 元素,并逐个输出了评论的文本。
需要注意的是,爬取网站数据可能会违反网站的服务条款,建议在合法合规的前提下进行。
阅读全文