# NewsSpiderProject **Repository Path**: hello-nohair-world/news-spider-project ## Basic Information - **Project Name**: NewsSpiderProject - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-29 - **Last Updated**: 2026-01-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### 1、项目简介   在信息爆炸的时代,新闻资讯数据量巨大且更新迅速。为了能够及时、准确地获取各类新闻资讯,并对其进行有效的整理和分析,开发一个新闻资讯数据采集系统显得尤为重要。该系统可以帮助用户自动采集不同来源的新闻数据,为后续的数据分析、信息挖掘等工作提供数据支持。 | 代码文件 | 对应网址 | 网站名 | |--------------------------|--------------------------------------------------|----------| | 1-send_request.py | https://news.qq.com/ | 腾讯新闻 | | 2-1-parser_with_regex.py | https://news.163.com/ | 网易新闻 | | 2-2-parser_with_xpath.py | https://www.chinanews.com/ | 中国新闻网 | | 2-3-parser_with_bs4.py | https://news.sina.com.cn/ | 新浪新闻网 | | 3-data_multi_saver.py | https://piaofang.maoyan.com/rankings/year | 猫眼票房 | | 4-ajax_news.py | https://news.sina.com.cn/ | 新浪新闻网 | | 4-selenium_news.py | https://news.sina.com.cn/roll/ | 新浪新闻滚动页面 | | weibo_hotsearch_scrapy | https://s.weibo.com/top/summary?cate=realtimehot | 微博热搜榜 | | 6-post_news.py | https://zh.wikipedia.org/ | 维基百科 | ### 2、实现流程 ![image-20250626093027892](./ReadMe_img/1.jpg) ### 3、技术要求 #### 3.1 开发语言 Python 3.8+,提供高效的编程环境和丰富的第三方库支持。 #### 3.2 Python核心依赖发库 (1)requests:第三方库,用于发送 HTTP 请求,获取网页内容。
(2)re:内置库,正则表达式引擎,用于字符串匹配、格式验证。
(3)lxml/BeautifulSoup/parsel:第三方库,用于解析 HTML 和 XML 文档,提取数据。
(4)csv/json:内置库,用于读写 CSV 文件和 JSON 数据序列化。
(5)pymysql:第三方库,用于连接和操作 MySQL 数据库。
(6)openpyxl/pandas:第三方库,用于操作 Excel 文件和数据处理与分析。
(7)datetime/time:内置库,用于日期时间处理。
(8)selenium/webdriver_manager:第三方库,用于自动化浏览器操作,处理 JS 动态渲染页面。
(9)scrapy:第三方库,用于构建和运行网络爬虫,实现高效数据采集。 ### 4、开发环境 | 软件名称 | 要求 | |---------------|-----------| | Windows操作系统 | Win10以上 | | Pycharm集成开发环境 | 2020及以上版本 | | Python解释器 | 3.8及以上版本 | | 数据库 | MySQL8.0及以上版本 | ### 5、目录结构 ``` NewsSpiderProject/ ├── 0-main.py # 项目的主程序入口文件 ├── 1-send_request.py # 发送 GET 请求到指定的 URL,获取响应数据 ├── 2-1-parser_with_regex.py # 使用正则表达式解析网页数据 ├── 2-2-parser_with_xpath.py # 使用 XPath 表达式解析网页数据 ├── 2-3-parser_with_bs4.py # 使用 BeautifulSoup 库解析网页数据 ├── 3-data_multi_saver.py # 将爬取到的数据以多种格式保存到本地文件,和保存到MySQL数据库 ├── 4-ajax_news.py # 通过 Ajax 方式获取动态加载的新闻数据 ├── 4-selenium_news.py # 使用 Selenium 库模拟浏览器操作,爬取 JavaScript 动态渲染的新闻页面 ├── 6-post_news.py # 使用 POST 方法模拟登录维基百科,获取登录态后爬取新闻动态页面 ├── weibo_hotsearch_scrapy/ # 爬取微博热搜榜的Scrapy项目根目录 │ ├── results/ # 自定义输出目录 │ ├── weibo_hotsearch_scrapy/ │ │ ├── __init__.py # Python 包的初始化文件 │ │ ├── items.py # 定义 Scrapy 项目中使用的 Item 类,用于存储爬取到的数据 │ │ ├── middlewares.py # 中间件文件 │ │ ├── pipelines.py # 数据处理管道 │ │ ├── settings.py # Scrapy 项目的设置文件 │ │ └── spiders/ │ │ ├── __init__.py # Python 包的初始化文件 │ │ └── hotsearch_spider.py # 微博热搜爬虫的具体实现 │ ├── scrapy.cfg # Scrapy 配置文件(指定项目名称、入口) │ └── setup.py # 用于启动微博热搜爬虫 └── results/ # 用于存储爬取到的数据文件,如 TXT、JSON、CSV、XLSX 等格式的文件 ``` ### 6、 运行方法   运行0-main.py文件后进入新闻资讯信息采集系统,输入1-6进入各个模拟功能模块开始进行数据采集: ![image.png](./ReadMe_img/2.png) ### 7、项目总览   开始挑战后输入1-6进入使用不同方式进行数据采集的界面。返回主菜单是输入0并确认“输入字母‘y’”退出整个新闻资讯数据采集系统。 ![image.png](./ReadMe_img/3.png)