Python爬虫批量旅游景点信息数据并保存本地
2024.01.18 00:54浏览量:11简介:本文将介绍如何使用Python爬虫批量获取旅游景点信息数据,并将数据保存到本地文件中。我们将使用requests和BeautifulSoup库来抓取数据,并使用Pandas库来处理和保存数据。
千帆应用开发平台“智能体Pro”全新上线 限时免费体验
面向慢思考场景,支持低代码配置的方式创建“智能体Pro”应用
立即体验
首先,我们需要安装requests和BeautifulSoup库。你可以使用以下命令来安装:
pip install requests beautifulsoup4
接下来,我们可以使用以下代码来爬取旅游景点信息数据:
import requests
from bs4 import BeautifulSoup
import pandas as pd
# 定义要爬取的网站列表
websites = [
'http://example.com/destination1',
'http://example.com/destination2',
'http://example.com/destination3',
# 添加更多旅游景点网站...
]
# 定义要爬取的景点信息列表
info_list = [
'景点名称', '景点评分', '景点介绍', '门票价格', '开放时间', '地址', '联系方式'
]
# 定义保存数据的文件名
output_file = '旅游景点信息.csv'
# 初始化一个空列表来保存景点信息
info_dicts = []
# 遍历网站列表,爬取每个旅游景点的信息
for website in websites:
try:
response = requests.get(website)
response.raise_for_status() # 如果请求返回的状态码不是200,则抛出异常
soup = BeautifulSoup(response.text, 'html.parser')
# 根据网站结构选择解析页面信息的标签,这里假设是div标签,标签的类名为info-item
info_items = soup.select('div.info-item')
for item in info_items:
info_dict = {}
for info in info_list:
# 根据网站结构选择解析每个景点信息的标签,这里假设是span标签,标签的类名为info-item-value
value = item.select('span.' + info)[0].text.strip() if item.select('span.' + info) else ''
info_dict[info] = value
info_dicts.append(info_dict)
except requests.exceptions.RequestException as e:
print(f'Failed to get information from {website}: {e}')
continue
except Exception as e:
print(f'Failed to parse information from {website}: {e}')
continue
# 将景点信息保存到CSV文件中
df = pd.DataFrame(info_dicts)
df.to_csv(output_file, index=False)
print(f'旅游景点信息已保存到 {output_file}')
以上代码会爬取每个旅游景点的名称、评分、介绍、门票价格、开放时间、地址和联系方式等信息,并将这些信息保存到CSV文件中。你可以根据需要修改代码来适应不同的网站结构和需要爬取的信息。请注意,在使用爬虫时,要遵守网站的robots协议和法律法规,不要频繁地访问网站,以免对网站的正常运行造成影响。

发表评论
登录后可评论,请前往 登录 或 注册