爬取去哪儿旅行网站上全国旅游热度前10的城市的10000家酒店排名
时间: 2024-06-09 17:04:35 浏览: 21
这个任务可以通过爬取去哪儿网站的酒店列表和热门城市页面来实现。以下是一个示例爬虫代码(使用Python和BeautifulSoup库):
```python
import requests
from bs4 import BeautifulSoup
# 首先,我们需要获取全国热门城市列表
url = 'https://www.qunar.com/'
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
hot_city_tags = soup.select('.hot_city_list a')
hot_cities = [tag.text for tag in hot_city_tags]
# 接下来,我们需要遍历热门城市并获取酒店列表
top_hotels = []
for city in hot_cities:
# 构造城市页面的URL
url = f'https://hotel.qunar.com/city/{city}/'
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
hotel_tags = soup.select('.b_hlist_item')
hotels = [{'name': tag.select_one('.e_title a').text, 'rank': tag.select_one('.level em').text} for tag in hotel_tags]
# 将获取到的酒店列表按照排名排序,并取前10000家酒店
sorted_hotels = sorted(hotels, key=lambda h: int(h['rank']))
top_hotels += sorted_hotels[:10000 - len(top_hotels)]
if len(top_hotels) >= 10000:
break
# 打印前10家酒店的名称和排名
for i in range(10):
print(f"{i+1}. {top_hotels[i]['name']}, 排名: {top_hotels[i]['rank']}")
```
这个爬虫首先获取了去哪儿网站的首页,然后从热门城市列表中获取城市名称。接下来,它遍历了每个城市页面,从中获取了酒店列表,并将结果按照排名排序。最后,它打印了前10家酒店的名称和排名。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)