爬虫去哪儿网分析并可视化
时间: 2023-09-21 10:05:40 浏览: 87
好的,针对您的问题,我可以为您提供以下思路:
1. 确定数据需求:您要爬取哪些数据?比如酒店的名称、评分、价格、评论等等。
2. 确定爬虫方案:您可以使用 Python 的 requests 库和 BeautifulSoup 库进行数据爬取,也可以使用 Scrapy 等框架进行爬虫开发。
3. 数据存储:您可以将爬取到的数据存储到本地的文件或者数据库中,方便后续的数据分析和可视化。
4. 数据分析和可视化:您可以使用 Python 的 pandas 库和 matplotlib 库进行数据分析和可视化,例如可以绘制酒店评分的直方图、价格的箱线图等等。
以上是一个大致的思路,具体实现细节还需要根据实际情况进行调整。
相关问题
爬虫去哪儿网分析并可视化的代码
好的,以下是一个简单的爬虫去哪儿网并分析数据的代码示例,代码中使用了 Python 的 requests 库、BeautifulSoup 库、pandas 库和 matplotlib 库。请注意,这里的代码仅供参考,具体实现细节还需要根据实际情况进行调整。
```python
import requests
from bs4 import BeautifulSoup
import pandas as pd
import matplotlib.pyplot as plt
# 爬取去哪儿网酒店评论数据
url = "http://hotel.qunar.com/city/guangzhou/#fromDate=2021-09-01&toDate=2021-09-02&cityurl=guangzhou&adults=2&children=0&ages=&qHtlBtn=&qDest=%E5%B9%BF%E5%B7%9E&qAct=home#fromDate=2021-09-01&toDate=2021-09-02&cityurl=guangzhou&adults=2&children=0&ages=&qHtlBtn=&qDest=%E5%B9%BF%E5%B7%9E&qAct=home&page=1"
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"
}
res = requests.get(url, headers=headers)
soup = BeautifulSoup(res.text, "html.parser")
# 解析数据并存储到 DataFrame 中
hotel_list = soup.select(".b_hotel_item")
data = []
for hotel in hotel_list:
name = hotel.find("span", class_="item_hotel_title").text.strip()
score = hotel.find("span", class_="item_hotel_score").text.strip()
price = hotel.find("span", class_="item_price").text.strip()
comment = hotel.find("span", class_="item_comment_num").text.strip()
data.append([name, score, price, comment])
df = pd.DataFrame(data, columns=["name", "score", "price", "comment"])
# 数据分析和可视化
score_hist = df["score"].astype(float).plot(kind="hist", bins=10, alpha=0.5)
plt.title("Hotel Score Distribution")
plt.xlabel("Score")
plt.ylabel("Count")
plt.show()
price_boxplot = df["price"].astype(int).plot(kind="box", vert=False)
plt.title("Hotel Price Boxplot")
plt.xlabel("Price")
plt.show()
```
以上代码中,我们首先使用 requests 库和 BeautifulSoup 库爬取了去哪儿网广州酒店的评论数据,然后将数据解析并存储到 DataFrame 中,最后使用 pandas 库和 matplotlib 库进行数据分析和可视化。其中,score_hist 绘制了酒店评分的直方图,price_boxplot 绘制了酒店价格的箱线图。
爬取去哪儿网旅游数据并可视化分析的代码
这是一个基于Python的爬虫程序,可以爬取去哪儿网的旅游数据,并进行可视化分析。具体代码如下:
```python
import requests
from bs4 import BeautifulSoup
import pandas as pd
import matplotlib.pyplot as plt
# 设置请求头部信息
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'
}
# 发送请求获取HTML页面
def get_html(url):
r = requests.get(url, headers=headers)
r.encoding = r.apparent_encoding
return r.text
# 解析HTML页面获取数据
def parse_html(html):
soup = BeautifulSoup(html, 'html.parser')
data_list = []
for item in soup.find_all('div', class_='gl_list'):
data = {
'title': item.find('a', class_='list_title').get_text(),
'price': item.find('span', class_='price').get_text(),
'comment': item.find('div', class_='comment').get_text()
}
data_list.append(data)
return data_list
# 将数据保存到CSV文件中
def save_to_csv(data_list):
df = pd.DataFrame(data_list)
df.to_csv('travel_data.csv', index=False)
# 可视化分析
def analyze_data():
df = pd.read_csv('travel_data.csv')
# 统计价格区间占比
price_list = df['price'].tolist()
bins = [0, 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000]
labels = ['0-100', '100-200', '200-300', '300-400', '400-500', '500-600', '600-700', '700-800', '800-900', '900-1000+']
price_cut = pd.cut(price_list, bins=bins, labels=labels)
price_cut.value_counts().plot(kind='bar', rot=0)
plt.title('Price Distribution')
plt.xlabel('Price Range')
plt.ylabel('Count')
plt.show()
# 统计评论数量占比
comment_list = df['comment'].tolist()
comment_count = {}
for comment in comment_list:
count = comment_count.get(comment, 0)
count += 1
comment_count[comment] = count
labels = list(comment_count.keys())
values = list(comment_count.values())
plt.pie(values, labels=labels, autopct='%1.2f%%')
plt.title('Comment Distribution')
plt.show()
if __name__ == '__main__':
url = 'https://travel.qunar.com/p-cs299895-huangshan-jingdian'
html = get_html(url)
data_list = parse_html(html)
save_to_csv(data_list)
analyze_data()
```
运行以上代码后,程序会自动爬取去哪儿网的旅游数据,并将数据保存到CSV文件中。接着,程序会进行可视化分析,展示价格区间和评论数量的分布情况。可以根据需要对代码进行适当修改,以适应不同的爬取和分析需求。
阅读全文