一、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次链接, 可以触达到任意一个页面。 ChinaDailyUsaTodayEnterpreneur 与 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 文件」



五、相关内容



精选内容