帮我爬取去哪儿网的全国景点数据
时间: 2023-08-25 11:04:23 浏览: 87
好的,以下是 Python 代码实现:
```python
import requests
from bs4 import BeautifulSoup
import pandas as pd
url = 'https://travel.qunar.com/p-cs299782-china-jingdian'
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36'
}
def get_scenic_spots(url):
response = requests.get(url, headers=headers)
soup = BeautifulSoup(response.text, 'html.parser')
spot_list = soup.find_all(class_='list_item')
results = []
for spot in spot_list:
name = spot.find(class_='name').text.strip()
address = spot.find(class_='address').text.strip()
star = spot.find(class_='level').text.strip()
comment_num = spot.find(class_='comment_sum').text.strip()
results.append({'名称': name, '地址': address, '星级': star, '评论数': comment_num})
return results
scenic_spots = []
for i in range(1, 14):
url = f'https://travel.qunar.com/p-cs299782-china-jingdian?page={i}'
scenic_spots.extend(get_scenic_spots(url))
df = pd.DataFrame(scenic_spots)
df.to_csv('qunar_scenic_spots.csv', index=False, encoding='utf-8-sig')
print('数据已保存至 qunar_scenic_spots.csv')
```
说明:
- 首先我们需要通过浏览器的开发者工具,查看去哪儿网的景点列表页面的 URL 和请求头。
- `get_scenic_spots` 函数用于获取每一页的景点数据。
- `scenic_spots` 列表用于存储所有景点数据。
- 使用 Pandas 将数据保存至 CSV 文件中。
阅读全文