请使用python爬取https://hotels.ctrip.com/网站上的四星级五星级房间的数据
时间: 2023-12-03 20:01:45 浏览: 136
携程航班信息爬取(python)—第一次写博客,不好请别见外!
好的,下面是使用 Python 爬取 https://hotels.ctrip.com/ 网站上四星级和五星级酒店房间数据的代码:
```python
import requests
from bs4 import BeautifulSoup
# 构造请求头
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.3'}
# 构造请求参数
params = {
'hotelType': 'F',
'star': '4,5',
'pageno': '1'
}
# 发送请求
url = 'https://hotels.ctrip.com/hotel/{}/p{}'.format(params['hotelType'], params['pageno'])
response = requests.get(url, headers=headers, params=params)
# 解析网页
soup = BeautifulSoup(response.text, 'html.parser')
rooms = soup.select('.hotel_new_list > .hotel_new_listitem.J_HotelListItem')
# 提取数据
for room in rooms:
room_name = room.select_one('.hotel_name > a').get_text().strip()
room_price = room.select_one('.J_price_lowList').get_text().strip()
room_star = room.select_one('.hotel_item > .hotel_item_htladdress > .hotel_item_star > span')['title']
print('房间名称:', room_name)
print('房间价格:', room_price)
print('房间星级:', room_star)
print('-' * 50)
```
这段代码使用 requests 库发送 HTTP 请求,使用 BeautifulSoup 库解析网页,从而获取四星级和五星级酒店房间的名称、价格和星级等数据。具体来说,我们通过构造请求头和请求参数来发送请求,然后使用 BeautifulSoup 库解析 HTML 代码,从而获取到所有的房间信息。然后,我们可以通过遍历房间列表来提取每个房间的名称、价格和星级等信息,并输出到控制台上。
请注意,这段代码只爬取了第一页的数据,如果您需要爬取更多数据,可以通过修改请求参数中的 `pageno` 参数来实现。同时,我们也只获取了四星级和五星级酒店的数据,如果您需要获取其他星级的酒店房间数据,可以通过修改请求参数中的 `star` 参数来实现。
阅读全文