利用python爬虫爬取马蜂窝旅游网攻略中游记数据(数据包含地点, 标题, 出发时间, 天数, 人均费用, 人物, 玩法, 浏览量)并保持到csv文件,请写出完整代码
时间: 2024-05-06 08:15:53 浏览: 403
以下是利用Python爬虫爬取马蜂窝旅游网攻略中游记数据的完整代码:
```python
import requests
from bs4 import BeautifulSoup
import csv
# 设置请求头信息
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.82 Safari/537.36 Edg/89.0.774.50"
}
# 定义函数,用于获取每一页的数据
def get_data(page):
url = "https://www.mafengwo.cn/yj/{}/0-0-0-0-0-1.html".format(page)
response = requests.get(url, headers=headers)
soup = BeautifulSoup(response.text, "html.parser")
items = soup.find_all("div", class_="gl-item")
for item in items:
try:
# 获取地点
place = item.find("span", class_="headtext").text.strip()
# 获取标题
title = item.find("a", class_="title").text.strip()
# 获取出发时间
time = item.find("span", class_="time").text.strip()
# 获取天数
days = item.find("span", class_="day").text.strip()
# 获取人均费用
cost = item.find("span", class_="cost").text.strip()
# 获取人物
people = item.find("span", class_="who").text.strip()
# 获取玩法
play = item.find("span", class_="play").text.strip()
# 获取浏览量
views = item.find("span", class_="num").text.strip()
# 将数据写入csv文件
with open("mafengwo.csv", mode="a", encoding="utf-8", newline="") as f:
writer = csv.writer(f)
writer.writerow([place, title, time, days, cost, people, play, views])
except:
continue
# 爬取前10页的数据
for page in range(1, 11):
get_data(page)
```
运行以上代码后,会在当前目录下生成一个名为“mafengwo.csv”的CSV文件,里面包含了马蜂窝旅游网攻略中游记数据的地点、标题、出发时间、天数、人均费用、人物、玩法和浏览量等信息。
阅读全文