jupyter 网页数据爬取以及数据分析实例
时间: 2023-07-29 13:14:06 浏览: 689
当然,我可以为您提供一个Jupyter Notebook的实例,演示如何使用Python进行网页数据爬取和数据分析。请注意,以下示例仅供参考,您可以根据自己的需求进行修改和扩展。
首先,我们需要安装一些必要的库。在Jupyter Notebook中的代码单元格中运行以下命令:
```
!pip install requests
!pip install beautifulsoup4
!pip install pandas
!pip install matplotlib
```
接下来,我们将使用requests库来获取网页数据,并使用beautifulsoup4库来解析HTML内容。让我们假设我们要爬取并分析CSDN博客的文章数据。
```python
import requests
from bs4 import BeautifulSoup
import pandas as pd
# 设置目标网页的URL
url = 'https://blog.csdn.net/'
# 发起HTTP请求获取网页内容
response = requests.get(url)
# 使用BeautifulSoup解析HTML内容
soup = BeautifulSoup(response.content, 'html.parser')
# 获取文章列表
articles = soup.find_all('div', class_='article-item-box')
# 创建一个空的DataFrame来存储数据
data = pd.DataFrame(columns=['标题', '作者', '发布时间'])
# 遍历文章列表,提取标题、作者和发布时间
for article in articles:
title = article.find('h4').text.strip()
author = article.find('a', class_='nickname').text.strip()
publish_time = article.find('span', class_='date').text.strip()
# 将数据添加到DataFrame中
data = data.append({'标题': title, '作者': author, '发布时间': publish_time}, ignore_index=True)
# 打印前5行数据
print(data.head())
```
上述代码中,我们首先使用requests库发起了对CSDN博客首页的HTTP请求,并使用BeautifulSoup解析了返回的HTML内容。然后,我们通过查找特定的HTML标签和属性,提取了文章的标题、作者和发布时间,并将数据添加到一个DataFrame中。
最后,我们打印了DataFrame的前5行数据。
除了爬取数据,我们还可以使用pandas和matplotlib库对数据进行分析和可视化。以下是一个简单的示例:
```python
import matplotlib.pyplot as plt
# 统计每个作者的文章数量
author_counts = data['作者'].value_counts()
# 绘制柱状图
plt.figure(figsize=(10, 6))
author_counts.plot(kind='bar')
plt.xlabel('作者')
plt.ylabel('文章数量')
plt.title('CSDN博客文章数量排名')
plt.show()
```
上述代码中,我们使用value_counts()函数统计了每个作者的文章数量,并使用matplotlib库绘制了一个柱状图,展示了CSDN博客的作者文章数量排名。
这只是一个简单的示例,您可以根据自己的需求进行更复杂的数据爬取和分析操作。希望对您有所帮助!
阅读全文