一、CBS News概况
数据集名称: CBS News
数据来源: https://www.cbsnews.com/
覆盖日期: 1998-04-16 ~ 2024-06-30
所含字段: date, title, content, author_link, publisher, link
记录条数: 190483
文件格式: csv
文件大小: 1475 M
二、查看数据
2.1 读取数据
import pandas as pd
df = pd.read_csv('CBS-News.csv')
df
2.2 覆盖日期
df['date'] = pd.to_datetime(df['date'], errors='coerce')
print('起: ', df['date'].min().strftime('%Y-%m-%d'))
print('止: ', df['date'].max().strftime('%Y-%m-%d'))
Run
起: 1998-04-16
止: 2024-06-30
2.3 所含字段
for col in df.columns:
print(col)
Run
date #日期
title #标题
content #新闻内容
author_link #作者主页链接
publisher #出版社
link #文章链接
2.4 发文量统计
企业家杂志,按照月度发文量进行统计。
month_volumes = []
for date, month_df in df.groupby(pd.Grouper(key='date', freq='M')):
month_volumes.append((date, len(month_df)))
data = pd.DataFrame(months)
data.columns = ['date', 'count']
data
from plotnine import *
import matplotlib.pyplot as plt
from matplotlib.font_manager import FontProperties
#文泉驿微米黑.ttf位于代码同文件夹
font_prop = FontProperties(fname='文泉驿微米黑.ttf')
date_breaks = [d.strftime('%Y-%m') for d in pd.date_range(start = data['date'].min(),
end = data['date'].max(),
freq = '12M')]
date_labels = [d[:4] for d in date_breaks]
(
ggplot(data, aes(x='date', y='count'))
+geom_point()
+geom_line()
+theme(figure_size=(10, 6),
text = element_text(family = font_prop.get_name()),
plot_title = element_text(family = font_prop.get_name(), size=12)
)
+labs(title='CBS News月度发文量(1998.4 ~ 2024.6)',
x = '月度',
y = '发文量')
+scale_x_datetime(breaks=date_breaks, labels = date_labels)
)
三、说明
我们都知道六度分割理论(通过任意六个人,我们能认识世界上任意一个人。), 类比到爬虫场景, 通过广度递归,当我们设置最大采集深度7, 意味理论上通过点击7次链接, 可以触达到任意一个页面。 ChinaDaily、 UsaToday、 Enterpreneur 与 CBS News均采用scrapy广度递归,最大深度7。
但从月度统计中可以看出CBS News ,有很多个月份(周期性)接近于0 轴的, 网站一般不会出这么周期性的问题, 大概率说明采集遇到问题。
四、获取数据
虽然数据采集出现了问题,但因为该csv数据结构整洁、体量较大, 特别适合给各位拿来练习Python文本分析。
CBS News链接: https://pan.baidu.com/s/1DlCo3PRnzcG1iZ_7V7PVlg?pwd=i4rr 提取码: i4rr
注意
如Excel打开csv乱码, 请百度搜「在 Excel 中正确打开 CSV UTF-8 文件」
五、相关内容
- 数据集(英文)| USA Today新闻数据集(2012~2024)
- 数据集(中英) | ChinaDaily新闻数据集(2008 ~ 2024)
- 数据集 | 企业家Entrepreneur杂志数据集(1996 ~ 2024)
- 代码 | 如何处理远超电脑内存的csv文件
- 代码 | 使用「新闻数据」构造概念词提及量「面板数据」
- 可视化 | 人民日报语料反映七十年文化演变
- 代码 | 使用「新闻数据」测量 「经济政策不确定性EPU」指标