用Python从指定网站(https://travel.qunar.com/p-cs300195-hangzhou-meishi)中爬取需要的信息,包括页面的餐厅名称、星级、地址等信息,结果要求保存在与代码文件相同地址的目录下,文件名称为“qunar.csv”。
时间: 2024-03-15 09:42:06 浏览: 128
好的,这是一个爬取网页信息的任务,需要使用 Python 的 requests 和 BeautifulSoup 库来完成。以下是一个简单的示例代码:
```python
import requests
from bs4 import BeautifulSoup
import csv
url = "https://travel.qunar.com/p-cs300195-hangzhou-meishi"
# 发送 GET 请求并获取网页内容
response = requests.get(url)
html = response.text
# 使用 BeautifulSoup 解析网页内容
soup = BeautifulSoup(html, "html.parser")
# 获取所有的餐厅信息
restaurant_list = soup.find_all("li", class_="list_item")
# 遍历每个餐厅,获取名称、星级、地址等信息
data = []
for restaurant in restaurant_list:
name = restaurant.find("span", class_="cn_tit").text.strip()
stars = restaurant.find("span", class_="cur_star")["style"].replace("width:", "").replace("%", "")
address = restaurant.find("span", class_="area").text.strip()
data.append([name, stars, address])
# 将结果保存到 CSV 文件中
with open("qunar.csv", "w", newline="", encoding="utf-8") as f:
writer = csv.writer(f)
writer.writerow(["名称", "星级", "地址"])
for row in data:
writer.writerow(row)
```
这个示例代码中,我们首先使用 requests 库发送一个 GET 请求,获取到网页的 HTML 内容。然后使用 BeautifulSoup 库解析 HTML 内容,获取到所有的餐厅信息。接着遍历每个餐厅,使用 find 方法获取到名称、星级、地址等信息,将它们保存到一个列表中。最后使用 csv 库将列表中的内容保存到 CSV 文件中。
阅读全文