从指定网站(https://travel.qunar.com/p-cs300195-hangzhou-meishi)中爬取需要的信息,包括页面的餐厅名称、星级、地址等信息,结果要求保存在与代码文件相同地址的目录下,文件名称为“qunar.csv”。
时间: 2024-03-15 15:42:13 浏览: 114
java 基础语法
好的,您需要一个Python爬虫程序来实现这个功能,我可以提供一个基本的爬虫框架,您可以根据自己的需要进行修改。
```python
import requests
from bs4 import BeautifulSoup
import csv
def get_restaurants():
url = "https://travel.qunar.com/p-cs300195-hangzhou-meishi"
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"}
response = requests.get(url, headers=headers)
soup = BeautifulSoup(response.text, "html.parser")
restaurants = []
for item in soup.find_all("div", {"class": "item"}):
name = item.find("span", {"class": "cn_tit"}).text.strip()
star = item.find("span", {"class": "cur_star"})["style"].replace("width:", "")
address = item.find("span", {"class": "address"}).text.strip()
restaurants.append([name, star, address])
return restaurants
def save_to_csv(restaurants):
with open("qunar.csv", "w", newline="", encoding="utf-8") as csvfile:
writer = csv.writer(csvfile)
writer.writerow(["name", "star", "address"])
for restaurant in restaurants:
writer.writerow(restaurant)
if __name__ == '__main__':
restaurants = get_restaurants()
save_to_csv(restaurants)
print("Done!")
```
这个程序使用了 requests 和 BeautifulSoup 库来请求网页和解析HTML。它首先定义了一个 `get_restaurants` 函数,用于获取网页中的餐厅信息。然后定义了一个 `save_to_csv` 函数,用于将餐厅信息保存到CSV文件中。最后,在主程序中调用这两个函数并输出“Done!”来表示程序执行完成。
您可以将这个程序保存为一个Python文件,例如“qunar_spider.py”,并在命令行中执行它。程序将在执行完成后在当前目录下生成一个名为“qunar.csv”的文件,其中包含了网页中的餐厅信息。
阅读全文