python 爬虫,东方网 上海新闻, 简单数据分析

news2024/9/21 16:43:40

起因:

本来想去市区玩玩,结果搜到一些相关的新闻,所以就想爬取新闻网站…

1. 爬虫部分

import os
import csv
import time
import requests


"""
# home: https://sh.eastday.com/
# 1. 标题, url, 来源,时间
"""

headers = {
    'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8',
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36'
}


def get_data():
    file_name = 'shanghai_news.csv'
    has_file =  os.path.exists(file_name)

    # 打开文件,写入模式
    with open(file_name, 'a', newline='', encoding='utf-8') as file:
        # 创建一个csv.DictWriter对象,用于写入字典数据
        columns = ['title', 'url', 'time','source']
        writer = csv.DictWriter(file, fieldnames=columns)

        # 写入表头
        if not has_file:
            writer.writeheader()

        # 爬取数据. 20页. 每页20条。 每天大概有400个新闻。
        for i in range(20):
            time.sleep(0.5)
            url = f"https://apin.eastday.com/apiplus/special/specialnewslistbyurl?specialUrl=1632798465040016&skipCount={i * 20}&limitCount=20"

            resp = requests.get(url, headers=headers)
            ret = resp.json()

            junk = ret['data']['list']

            for x in junk:
                item = dict()
                item['title'] = x["title"]
                item["url"] = x["url"]
                item["time"] = x["time"]
                item["source"] = x["infoSource"]

                # 写入数据
                writer.writerow(item)
                print(item)

get_data()

效果:
在这里插入图片描述

2. 数据分析

2.1 查看每个小时的新闻数量。 11点 – 12点 新闻数量比较少,估计吃饭去了。

请添加图片描述

2.2 查看新闻来源的分布情况。 实际上来源很多,我选择了前10个。

请添加图片描述

2.3 其他。

在这里插入图片描述

  • 8.23日 周五, 新闻总数是119条。
  • 8.25日 周日, 新闻总数是48条。
  • 所以我猜测是, 毕竟是周末, 新闻工作者也要休息。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2075203.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SQL进阶技巧:近距离有效的缺失值填充问题【last_value实现版】

目录 0 场景描述 1 数据准备 2 问题分析 3 小结 0 场景描述 场景:现在有一张商品入库表,包括商品id、商品成本和入库日期3个字段,由于某些原因,导致部分商品的成本缺失(为0或者没有值都是缺失),这样不利于我们计算成本。所以现在要把缺失的商品进价补充完整,补充的…

Redis远程字典服务器(12)—— 使用C++操作Redis

目录 一,环境配置 1.1 介绍 1.2 安装hiredis 1.3 安装redis-plus-plus 1.4 连接服务器 二,使用通用命令 2.0 StringView,和OptionalString类型 2.1 set,get, 2.2 exists,del 2.3 keys 2.4 expi…

【秋招笔试】8.25拼多多秋招-三语言题解

🍭 大家好这里是 春秋招笔试突围,一起备战大厂笔试 💻 ACM金牌团队🏅️ | 多次AK大厂笔试 | 编程一对一辅导 ✨ 本系列打算持续跟新 春秋招笔试题 👏 感谢大家的订阅➕ 和 喜欢💗 和 手里的小花花🌸 ✨ 笔试合集传送们 -> 🧷春秋招笔试合集 🍒 本专栏已收…

【测试】JMeter从入门到进阶

本文参考 Jmeter自动化测试工具从入门到进阶6小时搞定,适合手工测试同学学习_哔哩哔哩_bilibili JMeter介绍 JMeter 是 Apache 组织使用 Java 开发的一款测试工具: 1、可以用于对服务器、网络或对象模拟巨大的负载 2、通过创建带有断言的脚本来验证程序…

C3-80螺栓介绍及其特性

C3-80 螺栓作为马氏体不锈钢高强度紧固件的一员,在工程应用中扮演着重要角色。它不仅具有较高的强度,还拥有良好的耐腐蚀性能,适用于多种恶劣环境下的工业应用。 C3-80螺栓概述 C3-80螺栓是一种马氏体不锈钢材质的高强度紧固件,其…

电商数据怎么分析?电商数据接口助力电商运营中每日必看5个底层数据

数据分析充电站——深入探索中小企业数字化转型,专注提供各行业数据分析干货、分析技巧、工具推荐以及各类超实用分析模板,为钻研于数据分析的朋友们加油充电。 电商运营店铺涉及大量数据,包括用户行为、交易记录、库存信息等,如何…

【C++八股题整理】虚函数

C八股题整理 - 虚函数 虚函数虚函数的定义?C11引入的override和final关键字的作用?虚函数的实现原理?虚函数表(vbtl)和虚函数表指针(vptr)虚函数表、虚函数表指针的生成时期及存储位置&#xff…

JS常用事件示例

<!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8"> <meta name"viewport" content"widthdevice-width, initial-scale1.0"> <title>JS函数中的事件</title> <…

钡铼技术BL196MQTT远程IO模块工业物联网应用

随着工业物联网&#xff08;IIoT&#xff09;的迅猛发展&#xff0c;工业设备之间的互联互通已成为推动产业升级的关键因素之一。在这个背景下&#xff0c;钡铼技术推出了一款名为BL196MQTT的远程IO模块&#xff0c;该模块专为工业自动化环境中的数据采集与控制而设计&#xff…

搭建深度神经网络(DNN)

利用 numpy 工具&#xff0c;手动搭建一个 DNN 深度神经网络。 定义网络结构 初始化模型参数 循环计算&#xff1a;前向传播/计算当前损失/反向传播/权值更新 1、初始化模型参数 对于一个包含L层的隐藏层深度神经网络&#xff0c;我们在初始化其模型参数的时候需要更灵活一点…

触想强固型工业显示器加速海上油气勘探开发

石油作为现代工业发展的主要能源&#xff0c;已成为国际间政治、经济博弈的重要工具。 一、行业发展背景 过去百年间&#xff0c;人类对陆地油气资源的勘探开发逐渐趋于饱和&#xff0c;而面对持续增长的全球能源需求&#xff0c;海洋勘探已成为当今油气能源角逐的主要“战场”…

Linux文件IO缓存

一、缓冲区大小对 I/O 系统调用性能的影响 总之&#xff0c;如果与文件发生大量的数据传输&#xff0c;通过采用大块空间缓冲数据&#xff0c;以及执行更少的 系统调用&#xff0c;可以极大地提高 I / O 性能 二、stdio 库的缓冲 当操作磁盘文件时&#xff0c;缓冲大块数据以…

合宙LuatOS产品规格书——Air700EAQ

Luat Air700EAQ是合宙的LTE Cat.1bis通信模块&#xff0c;采用移芯EC716E平台&#xff0c;支持LTE 3GPP Rel.13技术。 该模块专为满足小型化、低成本需求而设计&#xff0c;具备超小封装和极致成本优势。 Air700EAQ支持移动双模&#xff0c;内置丰富的网络协议&#xff0c;集…

Qt第二十章 数据库操作

文章目录 Qt操作数据库QSqlDataBaseQSqlQuery执行SQL语句 QSqlRecordQSqlField数据库模型QSqlQueryModelQSqlTableModelQSqlRelationalTableModel 编译MySql驱动msvc版本MySql客户端程序部署 Qt操作数据库 需要在cmakelist加上Sql模块 QSqlDataBase 可以通过静态成员查看支持的…

北京青蓝智慧科技:2024(第九届)世界物联网大会将于11月在京举行

2024年11月&#xff0c;北京将迎来第九届世界物联网大会的盛大启幕。 这一年度盛会由世界物联网大会、中国移动通信联合会、外交理事会携手举办&#xff0c;得到了世界绿色设计组织、世界物联网基金会等机构的大力支持。 大会的宗旨在于推动全球智能联网数字经济的创新进展&a…

Golang | Leetcode Golang题解之第373题查找和最小的K对数字

题目&#xff1a; 题解&#xff1a; func kSmallestPairs(nums1, nums2 []int, k int) (ans [][]int) {m, n : len(nums1), len(nums2)// 二分查找第 k 小的数对和left, right : nums1[0]nums2[0], nums1[m-1]nums2[n-1]1pairSum : left sort.Search(right-left, func(sum in…

Notion 使用详解——基础教程

《Notion 使用详解——基础教程》 一、Notion简介 Notion是一款集笔记、任务、数据库、wiki、知识库等功能于一体的生产力工具&#xff0c;其强大的模块化设计和高度自定义能力&#xff0c;使其成为个人和团队提高工作效率的理想选择。 二、基础操作 1. 创建页面&#xff1a;…

几个很棒的AI问题和精彩回答

这里有几个很棒的与AI相关的问题和精彩的回答&#xff0c;分享给大家 2024&#xff0c;怎么以10倍的速度设计AI产品&#xff1f; 回答嘉宾&#xff1a;Tidyread作者 根据产品定位&#xff0c;对整体风格进行定调 Tidyread 希望人们能从中建立资讯阅读的秩序感&#xff0c;所以…

阿里云对象存储OSS的前端直传-demo

原由 在项目里有时候会碰到比如上传文件相关的&#xff0c;一般都是后端提供个接口&#xff0c;然后我们上传的时候后端再传到阿里OSS或者其他服务商的对象存储&#xff0c;然后把最终的url拿到存起来或者返回给前端&#xff0c;这种方式其实在上传图片的频率不高的业务场景中…

电商数据接口助力电商数据分析||电商运营每日必看5个底层数据

数据分析充电站——深入探索中小企业数字化转型&#xff0c;专注提供各行业数据分析干货、分析技巧、工具推荐以及各类超实用分析模板&#xff0c;为钻研于数据分析的朋友们加油充电。 电商运营店铺涉及大量数据&#xff0c;包括用户行为、交易记录、库存信息等&#xff0c;如何…