爬取胡润百富,并进行分析,可视化,使用jupyter
时间: 2024-02-17 22:53:48 浏览: 47
好的,我可以帮你完成这个任务。首先,你需要安装Python和Jupyter Notebook,并且安装一些必要的Python库,比如requests、beautifulsoup4、pandas、matplotlib和seaborn。如果你还没有安装这些库,你可以通过运行以下命令来安装它们:
```
pip install requests
pip install beautifulsoup4
pip install pandas
pip install matplotlib
pip install seaborn
```
接下来,我们可以开始编写代码了。以下是一个基本的爬虫程序,它可以爬取胡润百富榜单的数据,并将其存储到一个CSV文件中:
```python
import requests
from bs4 import BeautifulSoup
import pandas as pd
url = 'http://www.hurun.net/CN/TopList/Details?num=535CC51BB8A4'
res = requests.get(url)
soup = BeautifulSoup(res.text, 'html.parser')
items = soup.select('.table tr')
data = []
for item in items[1:]:
rank = item.select('.rank')[0].text.strip()
name = item.select('.name a')[0].text.strip()
industry = item.select('.industry')[0].text.strip()
wealth = item.select('.wealth')[0].text.strip()
data.append([rank, name, industry, wealth])
df = pd.DataFrame(data, columns=['Rank', 'Name', 'Industry', 'Wealth'])
df.to_csv('hurun.csv', index=False)
```
上面的代码使用requests库来获取网页的HTML代码,然后使用beautifulsoup4库来解析HTML代码,并选择出我们需要的数据。最后,使用pandas库将数据存储到CSV文件中。
接下来,我们可以使用Jupyter Notebook来进行数据分析和可视化。以下是一个简单的例子,它可以读取上面生成的CSV文件,并使用matplotlib和seaborn库来绘制柱状图和散点图:
```python
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
df = pd.read_csv('hurun.csv')
# 绘制富豪所在行业的柱状图
plt.figure(figsize=(12,6))
sns.countplot(y='Industry', data=df, order=df['Industry'].value_counts().index)
plt.title('Distribution of Industries')
plt.xlabel('Number of Billionaires')
plt.ylabel('Industry')
# 绘制富豪的财富和排名之间的散点图
plt.figure(figsize=(12,6))
sns.scatterplot(x='Rank', y='Wealth', data=df)
plt.title('Rank vs. Wealth')
plt.xlabel('Rank')
plt.ylabel('Wealth')
plt.show()
```
上面的代码使用pandas库来读取CSV文件,然后使用matplotlib和seaborn库来绘制柱状图和散点图。你可以根据自己的需求进行修改和调整,以便更好地分析和可视化数据。