335 lines
47 KiB
Plaintext
335 lines
47 KiB
Plaintext
{
|
||
"cells": [
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"# 爬虫测试 Notebook\n",
|
||
"用于测试人民日报爬虫功能\n",
|
||
"\n",
|
||
"## 1. 导入依赖"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 1,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"项目根目录: f:\\Project\\schoolNews\\schoolNewsCrawler\n",
|
||
"✓ 已启用自动重载模块功能 - 修改 .py 文件后会自动生效\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"# 自动重载模块(当文件修改后自动刷新)\n",
|
||
"%reload_ext autoreload\n",
|
||
"%autoreload 2\n",
|
||
"\n",
|
||
"import sys\n",
|
||
"import os\n",
|
||
"\n",
|
||
"# 先添加项目根目录到路径(必须在导入之前)\n",
|
||
"project_root = os.path.abspath(os.path.join(os.getcwd(), '..'))\n",
|
||
"if project_root not in sys.path:\n",
|
||
" sys.path.insert(0, project_root)\n",
|
||
"\n",
|
||
"# 然后再导入模块\n",
|
||
"from crawler.RmrbCrawler import RmrbCrawler\n",
|
||
"from crawler.BaseCrawler import NewsItem\n",
|
||
"from loguru import logger\n",
|
||
"import json\n",
|
||
"from pprint import pprint\n",
|
||
"\n",
|
||
"print(f\"项目根目录: {project_root}\")\n",
|
||
"print(\"✓ 已启用自动重载模块功能 - 修改 .py 文件后会自动生效\")\n"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"## 2. 初始化爬虫"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 5,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"\u001b[32m2025-11-10 11:09:38.821\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36mcrawler.BaseCrawler\u001b[0m:\u001b[36m__init__\u001b[0m:\u001b[36m69\u001b[0m - \u001b[1m初始化爬虫: RmrbCrawler\u001b[0m\n"
|
||
]
|
||
},
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"爬虫初始化成功!\n",
|
||
"基础URL: http://www.people.com.cn\n",
|
||
"URLS: {'search': UrlConfig(url='http://search.people.cn/search-platform/front/search', params={'key': '', 'page': 1, 'limit': 10, 'hasTitle': True, 'hasContent': True, 'isFuzzy': True, 'type': 0, 'sortType': 2, 'startTime': 0, 'endTime': 0}, method='POST'), 'hot_point_rank': UrlConfig(url='http://search.people.cn/search-platform/front/searchRank', params={}, method='GET')}\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"# 创建爬虫实例\n",
|
||
"crawler = RmrbCrawler()\n",
|
||
"print(\"爬虫初始化成功!\")\n",
|
||
"print(f\"基础URL: {crawler.config.base_url}\")\n",
|
||
"print(f\"URLS: {crawler.config.urls}\")\n"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 11,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"\u001b[32m2025-11-10 13:21:41.775\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36mcrawler.BaseCrawler\u001b[0m:\u001b[36mfetch\u001b[0m:\u001b[36m84\u001b[0m - \u001b[1m请求URL: http://politics.people.com.cn/n1/2025/1110/c461001-40600372.html (尝试 1/3)\u001b[0m\n",
|
||
"\u001b[32m2025-11-10 13:21:41.908\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36mcrawler.RmrbCrawler\u001b[0m:\u001b[36mparse_news_detail\u001b[0m:\u001b[36m301\u001b[0m - \u001b[1m成功解析新闻: 习言道|建好这个“港”,习近平有深远考量\u001b[0m\n"
|
||
]
|
||
},
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"NewsItem(title='习言道|建好这个“港”,习近平有深远考量', contentRows=[{'tag': 'p', 'style': None, 'content': ''}, {'tag': 'img', 'style': 'text-align: center;', 'content': 'http://www.people.com.cn/mediafile/pic/BIG/20251110/20/9596092983742008100.jpg'}, {'tag': 'p', 'style': 'text-indent: 2em;', 'content': '中新网11月8日电 题:建好这个“港”,习近平有深远考量'}, {'tag': 'p', 'style': 'text-indent: 2em;', 'content': '党的二十届四中全会后首次到地方,习近平总书记来到了海南三亚。'}, {'tag': 'p', 'style': 'text-indent: 2em;', 'content': '再有一个多月,12月18日,海南自由贸易港将正式启动全岛封关。11月6日,在听取海南自由贸易港建设工作汇报时,习近平总书记强调,各级各有关方面要精心准备,确保平稳有序。'}, {'tag': 'p', 'style': 'text-indent: 2em;', 'content': '对于自由贸易港建设,总书记一直寄予厚望。'}, {'tag': 'p', 'style': 'text-indent: 2em;', 'content': '20世纪80年代,在厦门工作期间,习近平同志就曾牵头研究自由贸易港问题并将部分政策付诸实施。彼时,中国开放的大门刚刚打开。'}, {'tag': 'p', 'style': 'text-indent: 2em;', 'content': '多年后,这一任务交到了海南手中。'}, {'tag': 'p', 'style': 'text-indent: 2em;', 'content': '为什么是海南?从客观条件看,海南是我国最大的经济特区,地理位置独特,拥有全国最好的生态环境,同时又是相对独立的地理单元,具有成为全国改革开放试验田的独特优势。'}, {'tag': 'p', 'style': 'text-indent: 2em;', 'content': '从历史看,海南之所以能从一个边陲海岛发展成为我国改革开放的重要窗口,正是得益于深化改革、扩大开放。建设自贸港,是海南开放发展道路的延续,也是面向未来发展的需要。'}, {'tag': 'p', 'style': 'text-indent: 2em;', 'content': '从现实看,作为引领我国新时代对外开放的鲜明旗帜,海南自贸港建设不仅事关海南自身发展,更关乎中国改革开放全局。'}, {'tag': 'p', 'style': 'text-indent: 2em;', 'content': '“由海南来完成这项历史性任务,这也是中国特色社会主义经济特区建设的一个战略安排,不断摸索、大胆试验,现在蹚出来一条路子。”2022年在海南考察时,对于海南自贸港建设的未来,习近平总书记曾饱含期待。'}, {'tag': 'p', 'style': 'text-indent: 2em;', 'content': '只有敢于走别人没有走过的路,才能收获别样的风景。'}, {'tag': 'p', 'style': 'text-indent: 2em;', 'content': '从2018年党中央决定支持海南全岛建设自由贸易试验区,到2020年《海南自由贸易港建设总体方案》发布,再到海南自贸港连续7年被写入政府工作报告……一系列顶层设计推动海南自贸港建设取得重要阶段性成效,为启动全岛封关运作打下坚实基础。'}, {'tag': 'p', 'style': 'text-indent: 2em;', 'content': '美丽海岛持续释放活力,海南外贸连续5年增长,累计176个国家和地区在此投资。'}, {'tag': 'p', 'style': 'text-indent: 2em;', 'content': '这次在海南,习近平总书记再次强调海南自贸港的定位——'}, {'tag': 'p', 'style': 'text-indent: 2em;', 'content': '“高标准建设海南自由贸易港,主要目的是促进海南高质量发展,助力全国构建新发展格局。”'}, {'tag': 'p', 'style': 'text-indent: 2em;', 'content': '“建设海南自由贸易港的战略目标,就是要把海南自由贸易港打造成为引领我国新时代对外开放的重要门户。”'}, {'tag': 'p', 'style': 'text-indent: 2em;', 'content': '从海南到全国,从中国到世界,总书记点明中国特色自由贸易港的重要使命与历史方位。'}, {'tag': 'p', 'style': 'text-indent: 2em;', 'content': '此次,在海南自贸港将迈入全岛封关运作新阶段之际,总书记再次作出新部署。'}, {'tag': 'p', 'style': 'text-indent: 2em;', 'content': '“进一步提高贸易投资自由化便利化水平”“着力打造市场化法治化国际化一流营商环境”“越是扩大开放,越要统筹发展和安全”……有方向指引,有具体要求,也有深远考量。'}, {'tag': 'p', 'style': 'text-indent: 2em;', 'content': '前不久,党的二十届四中全会审议通过的“十五五”规划建议,明确提出“高标准建设海南自由贸易港”。'}, {'tag': 'p', 'style': 'text-indent: 2em;', 'content': '在中国的最南端,新时代全面深化改革开放的故事正不断书写。'}, {'tag': 'p', 'style': 'text-indent: 2em;', 'content': '|出品人:俞岚'}, {'tag': 'p', 'style': 'text-indent: 2em;', 'content': '|总策划:周锐'}, {'tag': 'p', 'style': 'text-indent: 2em;', 'content': '|统筹:马学玲 阚枫'}, {'tag': 'p', 'style': 'text-indent: 2em;', 'content': '|执笔:袁秀月'}, {'tag': 'p', 'style': 'text-indent: 2em;', 'content': '|校对:孙静波'}, {'tag': 'p', 'style': 'text-indent: 2em;', 'content': '|视觉:徐洋 雷宇竺'}, {'tag': 'p', 'style': 'text-indent: 2em;', 'content': '|中国新闻网“习言道”工作室出品'}, {'tag': 'p', 'style': 'text-indent: 2em;', 'content': '|中国互联网发展基金会中国正能量网络传播专项基金支持'}, {'tag': 'img', 'style': None, 'content': 'http://www.people.com.cn/img/2020wbc/imgs/share.png'}], url='http://politics.people.com.cn/n1/2025/1110/c461001-40600372.html', publishTime='2025年11月10日09:26', author='责编:白宇、卫嘉', source='中国新闻网', category='')"
|
||
]
|
||
},
|
||
"execution_count": 11,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"crawler.parse_news_detail(\"http://politics.people.com.cn/n1/2025/1110/c461001-40600372.html\")"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"## 3. 测试搜索功能"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 11,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"\u001b[32m2025-11-08 17:21:50.827\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36mcrawler.BaseCrawler\u001b[0m:\u001b[36mfetch\u001b[0m:\u001b[36m86\u001b[0m - \u001b[1m请求URL: http://search.people.cn/search-platform/front/search (尝试 1/3)\u001b[0m\n",
|
||
"\u001b[32m2025-11-08 17:21:50.913\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36mcrawler.RmrbCrawler\u001b[0m:\u001b[36msearch\u001b[0m:\u001b[36m88\u001b[0m - \u001b[1m搜索响应: {'code': '0', 'data': {'records': [{'author': '', 'belongsName': '传媒', 'belongsId': '[\"14677\"]', 'content': '根据《中国新闻奖评选办法》和中国广播电视社会组织联合会通知,现对人民日报社推荐参加第35届中国新闻奖音视频<em>新闻</em>访谈、音视频<em>新闻</em>直播初评的4件作品予以公示。 公示期为2025年4月3日至4月10日。如有不同意见,可通过电话或电子邮件等方式发表评议意见,逾期不再受理。电话:010-65363945 邮箱:xwpx@people.cn 人民日报社 2025年4月3日 作品目录: 音视频<em>新闻</em>访谈3件: 巴黎奥运连麦丨对话“百米飞鱼”潘展乐:干进46秒,说到做到 两会零时差|以自身发展推动世界发展,中国提供了宝贵经验 两会面对面丨费俊龙对话叶聪:上天入海背后的故事 音视频<em>新闻</em>直播', 'contentOriginal': '根据《中国新闻奖评选办法》和中国广播电视社会组织联合会通知,现对人民日报社推荐参加第35届中国新闻奖音视频新闻访谈、音视频新闻直播初评的4件作品予以公示。 公示期为2025年4月3日至4月10日。如有不同意见,可通过电话或电子邮件等方式发表评议意见,逾期不再受理。 电话:010-65363945 邮箱:xwpx@people.cn 人民日报社 2025年4月3日 作品目录: 音视频新闻访谈3件: 巴黎奥运连麦丨对话“百米飞鱼”潘展乐:干进46秒,说到做到 两会零时差|以自身发展推动世界发展,中国提供了宝贵经验 两会面对面丨费俊龙对话叶聪:上天入海背后的故事 音视频新闻直播1件: 徒步54公里的思政课,坚守29年的薪火传承', 'displayTime': 1743670375000, 'domain': 'media.people.com.cn', 'editor': '王连香', 'hasImg': 0, 'hasVideo': 0, 'id': 1000040453328, 'imageUrl': None, 'inputTime': 1743670376000, 'isDisclosed': None, 'isElited': None, 'isFixed': None, 'isOfficial': None, 'isRecommend': None, 'keyword': None, 'newsJson': None, 'originNodeRname': '人民网#传媒', 'originUrl': '', 'originalName': None, 'originalType': None, 'pretitle': '', 'shorttitle': '', 'source': 1, 'sourceId': 40453328, 'contentId': 40453328, 'sourcetitle': '', 'sourceType': 1, 'subtitle': '', 'title': '人民日报社推荐参加第35届中国<em>新闻</em>奖音<em>视频</em><em>新闻</em>访谈、 音<em>视频</em><em>新闻</em>直播初评作品的公示', 'url': 'http://media.people.com.cn/n1/2025/0403/c14677-40453328.html', 'originName': '人民网'}, {'author': '', 'belongsName': '韩国频道#滚动#社会', 'belongsId': '[\"407366\",\"407862\",\"407864\"]', 'content': '韩国《朝鲜日报》4月23日文章,原题:成为利用假新闻牟利和政治两极化温床的网络视频平台 距离美国网络视频平台YouTube上传第一条<em>视频</em>已经过去了20年,其危害和副作用日益暴露。这里充斥着假新闻和有害信息,成为了助长政治两极化与社会矛盾和分裂的温床。一旦发生与名人相关的性骚扰、外遇、离婚、暴力、死亡事件,这些主播就会出现,用未经验证的质疑和虚假信息制作并上传<em>视频</em>,通过恐吓、威胁勒索巨额钱财。该平台算法只筛选符合用户喜好的刺激性内容——不是均衡推荐<em>视频</em>,而是不断引导人观看极端偏向的<em>视频</em>。借助仇恨、暴力、煽动性的<em>视频</em>助长严重的确证偏见。每个政治集会或示威现场,都有几十名政治<em>视频</em>主播。这些人制造的假新闻的弊端和政治两极化、社会矛盾的副作用,难以进行计算。 想阻止这种情况的发生,首先需要Youtube母公司谷歌内部进行限制和自我净化的努力。变成了赚钱手段的平台算法也需要进行改进。我们应该建立防止网络视频平台假新闻和偏见<em>视频</em>传播的制度机制。 来源:环球时报', 'contentOriginal': '韩国《朝鲜日报》4月23日文章,原题:成为利用假新闻牟利和政治两极化温床的网络视频平台 距离美国网络视频平台YouTube上传第一条视频已经过去了20年,其危害和副作用日益暴露。这里充斥着假新闻和有害信息,成为了助长政治两极化与社会矛盾和分裂的温床。问卷调查显示,62%的人认为其是“假新闻的生成主体”,压倒性地排在榜首。在假新闻传播渠道的选项里,该平台占66%。不少主播通过这种方式赚钱,政治人物从中获得政治利益,却并不承担责任。 订阅者为100万人左右的政治Youtube主播通过超级聊天赞助和点击量,每月能收益几千万韩元(1000万韩元约合5万元人民币)。报道清潭洞酒宴的主播每天赚取了2000万韩元以上。即使被起诉,收入也多于赔偿金,所以他们并不畏惧。一旦发生与名人相关的性骚扰、外遇、离婚、暴力、死亡事件,这些主播就会出现,用未经验证的质疑和虚假信息制作并上传视频,通过恐吓、威胁勒索巨额钱财。该平台算法只筛选符合用户喜好的刺激性内容——不是均衡推荐视频,而是不断引导人观看极端偏向的视频。借助仇恨、暴力、煽动性的视频助长严重的确证偏见。 网络视频平台的极端内容和假新闻对2021年美国攻占国会和暴动事件等产生了很大影响。每个政治集会或示威现场,都有几十名政治视频主播。这些人制造的假新闻的弊端和政治两极化、社会矛盾的副作用,难以进行计算。 想阻止这种情况的发生,首先需要Youtube母公司谷歌内部进行限制和自我净化的努力。变成了赚钱手段的平台算法也需要进行改进。还需要建立政治圈、市民团体、学术界、媒体等共同参与的社会验证机构。我们应该建立防止网络视频平台假新闻和偏见视频传播的制度机制。 来源:环球时报', 'displayTime': 1745897396000, 'domain': 'korea.people.com.cn', 'editor': '吴三叶', 'hasImg': 0, 'hasVideo': 0, 'id': 1000040470783, 'imageUrl': None, 'inputTime': 1745897396000, 'isDisclosed': None, 'isElited': None, 'isFixed': None, 'isOfficial': None, 'isRecommend': None, 'keyword': None, 'newsJson': None, 'originNodeRname': '人民网#韩国频道', 'originUrl': '', 'originalName': None, 'originalType': None, 'pretitle': '', 'shorttitle': '', 'source': 1, 'sourceId': 40470783, 'contentId': 40470783, 'sourcetitle': '', 'sourceType': 1, 'subtitle': '', 'title': '韩媒:美网络<em>视频</em>平台成假<em>新闻</em>温床', 'url': 'http://korea.people.com.cn/n1/2025/0429/c407366-40470783.html', 'originName': '\\u3000\\u3000'}, {'author': '', 'belongsName': '#梅里时评#', 'belongsId': '[\"372441\"]', 'content': '\\u3000\\u3000近日,一些短<em>视频新闻</em>频频“翻车”,对媒体公信力和网民媒介素养提出了新的挑战。9月1日,湖南一宝妈上传了一段双胞胎兄弟在肚子里打架的<em>视频</em>,引发网友关注。据<em>视频</em>显示,双胞胎兄弟在肚子里的时候就互不相让,在妈妈肚子里“拳打脚踢”,妈妈的肚子也跟着起伏变化,果然,双胞胎出生后身上就到处是淤青。但在<em>视频</em>引发热议后,就有专家辟谣,原来,大多数哺乳动物都具备学习游泳的能力。 \\u3000\\u3000类似的短<em>视频新闻</em>“翻车”事件暴露出两个问题。一是网络媒体从短<em>视频</em>平台搬运<em>视频</em>现象严重,对<em>新闻</em>的审核存在疏漏,未经核实就发布报道,导致像“双胞胎在肚里打架出生后浑身淤青”这样违反医学常识、耸人听闻的<em>新闻</em>误导大众。此外,一些<em>新闻</em>还存在虚假内容拼接现象。某些纯属娱乐的<em>视频</em>,却被媒体当成<em>新闻</em>真实事件报道出来,这难免会最终“翻车”。 \\u3000\\u3000二是网民对网络视频的判断能力存在偏差,面对似是而非的<em>视频</em>内容存在盲目相信、胡乱猜测等行为,网民的媒介素养和科学素质有待提升。笔者建议,网络平台要做到严格按照<em>新闻</em>采编规范进行<em>新闻</em>采访报道,并对<em>新闻</em>内容进行严格把关与核实,不可照搬短<em>视频</em>平台未经核实的内容。新闻媒体在普及科学的<em>新闻</em>内容时,一定要慎之又慎,以免误导大众,为此造成虚假<em>新闻</em>传播泛滥,导致媒体公信力缺失。希望相关部门的举措,可以减少短<em>视频新闻</em>“翻车”现象的发生,促使媒体公信力和网民媒介素养不断提升。(李华锡)', 'contentOriginal': '<p>\\u3000\\u3000近日,一些短视频新闻频频“翻车”,对媒体公信力和网民媒介素养提出了新的挑战。9月1日,湖南一宝妈上传了一段双胞胎兄弟在肚子里打架的视频,引发网友关注。据视频显示,双胞胎兄弟在肚子里的时候就互不相让,在妈妈肚子里“拳打脚踢”,妈妈的肚子也跟着起伏变化,果然,双胞胎出生后身上就到处是淤青。该视频被媒体报道后登上热搜,但在9月4日,产科医生辟谣了,原来,双胞胎在肚里打架的情况,不大可能发生,网友对很多医学常识缺乏了解。8月30日,有海南三亚居民拍摄到一只猴子在海中游泳。拍摄者表示:当时看到猴子在海里游泳就很惊讶,网友也开始怀疑这是不是传说中的“水猴子”。但在视频引发热议后,就有专家辟谣,原来,大多数哺乳动物都具备学习游泳的能力。</p>\\n<p>\\u3000\\u3000类似的短视频新闻“翻车”事件暴露出两个问题。一是网络媒体从短视频平台搬运视频现象严重,对新闻的审核存在疏漏,未经核实就发布报道,导致像“双胞胎在肚里打架出生后浑身淤青”这样违反医学常识、耸人听闻的新闻误导大众。此外,一些新闻还存在虚假内容拼接现象。某些纯属娱乐的视频,却被媒体当成新闻真实事件报道出来,这难免会最终“翻车”。</p>\\n<p>\\u3000\\u3000二是网民对网络视频的判断能力存在偏差,面对似是而非的视频内容存在盲目相信、胡乱猜测等行为,网民的媒介素养和科学素质有待提升。如“水猴子”事件中,如果网民有一定的科学常识,就不会随意相信网络上各种“水猴子”传言。如在“双胞胎在肚里打架出生后浑身淤青”事件中,如果网民对怀孕知识有一定的了解,或及时向产科医生求证,提出质疑,就不会造成上述令人啼笑皆非的事情。</p>\\n<p>\\u3000\\u3000那么,该如何保证媒体公信力、提升网民媒介素养呢?笔者建议,网络平台要做到严格按照新闻采编规范进行新闻采访报道,并对新闻内容进行严格把关与核实,不可照搬短视频平台未经核实的内容。新闻媒体在普及科学的新闻内容时,一定要慎之又慎,以免误导大众,为此造成虚假新闻传播泛滥,导致媒体公信力缺失。与此同时,网民也要加强自身的媒介素养和科学素质,自觉学习相关知识,提高认知水平和判断能力,不可轻信虚假信息,面对谣言要保留证据并及时举报,做到不信谣、不传谣,不要再让这些所谓的“新闻”哗众取宠。</p>\\n<p>\\u3000\\u3000值得注意的是,近日,中共中央办公厅、国务院办公厅印发了《关于新时代进一步加强科学技术普及工作的意见》,对公民自觉提升科学素质、抵制伪科学、反科学等不良现象提出了新的要求。希望相关部门的举措,可以减少短视频新闻“翻车”现象的发生,促使媒体公信力和网民媒介素养不断提升。(李华锡)</p>', 'displayTime': 1662510209000, 'domain': 'yn.people.com.cn', 'editor': '木胜玉', 'hasImg': 0, 'hasVideo': 0, 'id': 2000040114019, 'imageUrl': None, 'inputTime': 1662510210000, 'isDisclosed': None, 'isElited': None, 'isFixed': None, 'isOfficial': None, 'isRecommend': None, 'keyword': '', 'newsJson': None, 'originNodeRname': '人民网#云南频道#梅里时评', 'originUrl': 'http://zqb.cyol.com/html/2022-09/07/nw.D110000zgqnb_20220907_3-07.htm ', 'originalName': None, 'originalType': None, 'pretitle': '', 'shorttitle': '', 'source': 2, 'sourceId': 40114019, 'contentId': 40114019, 'sourcetitle': '', 'sourceType': 1, 'subtitle': '', 'title': '短<em>视频新闻</em>频“翻车” 挑战媒介素养', 'url': 'http://yn.people.com.cn/n2/2022/0907/c372441-40114019.html', 'originName': '中国青年报'}, {'author': '', 'belongsName': '日本频道#社会#滚动新闻#图片库', 'belongsId': '[\"35421\",\"35467\",\"368232\",\"368567\"]', 'content': '\\u3000\\u3000中新社湖南芷江8月21日电 (付敬懿 黄建建)位于湖南芷江的中国人民抗日战争胜利受降纪念馆21日公布《日本投降》<em>新闻</em>纪录片原始<em>视频</em>,<em>视频</em>摄制于1945年,由美国国家档案馆提供。 \\u3000\\u30008月21日,拍摄于1945年的《日本投降》<em>新闻</em>纪录片原始<em>视频</em>在湖南芷江公布。\\u3000付敬懿 摄 \\u3000\\u3000该<em>视频</em>展现了芷江受降作为东方主战场胜利的标志性事件,以及日本投降开启亚太战场胜利序幕的历史意义,为研究中国抗日战争和世界反法西斯战争提供了珍贵的一手资料。 \\u3000\\u30002014年,中国人民抗日战争胜利受降纪念馆曾公布日本在芷江向中国投降的原始<em>视频</em>资料,记录了日本投降代表从下飞机到签署投降备忘录的全过程。 \\u3000\\u3000此次新公布的原始<em>视频</em>,从更宏观的视角展现中国抗日战争与世界反法西斯战争的紧密联系。中国人民抗日战争胜利受降纪念馆馆长吴建宏表示,这些<em>视频</em>资料将让更多人了解历史真相,激励当代人铭记历史,珍惜来之不易的和平。 \\u3000\\u3000当日,纪念馆还公布了一批由抗战老兵捐赠的历史照片、作战地图等。(完)', 'contentOriginal': '<p>\\u3000\\u3000中新社湖南芷江8月21日电 (付敬懿 黄建建)位于湖南芷江的中国人民抗日战争胜利受降纪念馆21日公布《日本投降》新闻纪录片原始视频,视频摄制于1945年,由美国国家档案馆提供。</p> <p align=\"center\"><img src=\"/mediafile/pic/20250822/56/592998228316100220.jpg\" alt=\"\"></p> <p style=\"text-align: center;\"><span style=\"color: #95a5a6; font-size: 11pt;\">\\u3000\\u30008月21日,拍摄于1945年的《日本投降》新闻纪录片原始视频在湖南芷江公布。\\u3000付敬懿 摄</span></p> <p>\\u3000\\u3000该视频展现了芷江受降作为东方主战场胜利的标志性事件,以及日本投降开启亚太战场胜利序幕的历史意义,为研究中国抗日战争和世界反法西斯战争提供了珍贵的一手资料。</p> <p>\\u3000\\u30002014年,中国人民抗日战争胜利受降纪念馆曾公布日本在芷江向中国投降的原始视频资料,记录了日本投降代表从下飞机到签署投降备忘录的全过程。</p> <p>\\u3000\\u3000此次新公布的原始视频,从更宏观的视角展现中国抗日战争与世界反法西斯战争的紧密联系。中国人民抗日战争胜利受降纪念馆馆长吴建宏表示,这些视频资料将让更多人了解历史真相,激励当代人铭记历史,珍惜来之不易的和平。</p> <p>\\u3000\\u3000当日,纪念馆还公布了一批由抗战老兵捐赠的历史照片、作战地图等。(完)</p>', 'displayTime': 1755826214000, 'domain': 'japan.people.com.cn', 'editor': '许文金', 'hasImg': 1, 'hasVideo': 0, 'id': 1000040548000, 'imageUrl': 'http://japan.people.com.cn/mediafile/pic/20250822/56/592998228316100220.jpg', 'inputTime': 1755826214000, 'isDisclosed': None, 'isElited': None, 'isFixed': None, 'isOfficial': None, 'isRecommend': None, 'keyword': None, 'newsJson': None, 'originNodeRname': '人民网#日本频道', 'originUrl': 'http://www.chinanews.com.cn/gn/2025/08-21/10468902.shtml', 'originalName': None, 'originalType': None, 'pretitle': '', 'shorttitle': '', 'source': 1, 'sourceId': 40548000, 'contentId': 40548000, 'sourcetitle': '(抗战胜利80周年)《日本投降》新闻纪录片原始视频公布', 'sourceType': 1, 'subtitle': '', 'title': '(抗战胜利80周年)《日本投降》<em>新闻</em>纪录片原始<em>视频</em>公布', 'url': 'http://japan.people.com.cn/n1/2025/0822/c35421-40548000.html', 'originName': '中国新闻网'}, {'author': '', 'belongsName': '中日万象', 'belongsId': '[\"368507\"]', 'content': '\\u3000\\u3000中新社湖南芷江8月21日电 (付敬懿 黄建建)位于湖南芷江的中国人民抗日战争胜利受降纪念馆21日公布《日本投降》<em>新闻</em>纪录片原始<em>视频</em>,<em>视频</em>摄制于1945年,由美国国家档案馆提供。 \\u3000\\u30008月21日,拍摄于1945年的《日本投降》<em>新闻</em>纪录片原始<em>视频</em>在湖南芷江公布。\\u3000付敬懿 摄 \\u3000\\u3000该<em>视频</em>展现了芷江受降作为东方主战场胜利的标志性事件,以及日本投降开启亚太战场胜利序幕的历史意义,为研究中国抗日战争和世界反法西斯战争提供了珍贵的一手资料。 \\u3000\\u30002014年,中国人民抗日战争胜利受降纪念馆曾公布日本在芷江向中国投降的原始<em>视频</em>资料,记录了日本投降代表从下飞机到签署投降备忘录的全过程。 \\u3000\\u3000此次新公布的原始<em>视频</em>,从更宏观的视角展现中国抗日战争与世界反法西斯战争的紧密联系。中国人民抗日战争胜利受降纪念馆馆长吴建宏表示,这些<em>视频</em>资料将让更多人了解历史真相,激励当代人铭记历史,珍惜来之不易的和平。 \\u3000\\u3000当日,纪念馆还公布了一批由抗战老兵捐赠的历史照片、作战地图等。(完)', 'contentOriginal': '<p>\\u3000\\u3000中新社湖南芷江8月21日电 (付敬懿 黄建建)位于湖南芷江的中国人民抗日战争胜利受降纪念馆21日公布《日本投降》新闻纪录片原始视频,视频摄制于1945年,由美国国家档案馆提供。</p> <p align=\"center\"><img src=\"/mediafile/pic/20250822/56/592998228316100220.jpg\" alt=\"\"></p> <p style=\"text-align: center;\"><span style=\"color: #95a5a6; font-size: 11pt;\">\\u3000\\u30008月21日,拍摄于1945年的《日本投降》新闻纪录片原始视频在湖南芷江公布。\\u3000付敬懿 摄</span></p> <p>\\u3000\\u3000该视频展现了芷江受降作为东方主战场胜利的标志性事件,以及日本投降开启亚太战场胜利序幕的历史意义,为研究中国抗日战争和世界反法西斯战争提供了珍贵的一手资料。</p> <p>\\u3000\\u30002014年,中国人民抗日战争胜利受降纪念馆曾公布日本在芷江向中国投降的原始视频资料,记录了日本投降代表从下飞机到签署投降备忘录的全过程。</p> <p>\\u3000\\u3000此次新公布的原始视频,从更宏观的视角展现中国抗日战争与世界反法西斯战争的紧密联系。中国人民抗日战争胜利受降纪念馆馆长吴建宏表示,这些视频资料将让更多人了解历史真相,激励当代人铭记历史,珍惜来之不易的和平。</p> <p>\\u3000\\u3000当日,纪念馆还公布了一批由抗战老兵捐赠的历史照片、作战地图等。(完)</p>', 'displayTime': 1755852269000, 'domain': 'cjkeizai.j.people.com.cn', 'editor': '张璐璐', 'hasImg': 1, 'hasVideo': 0, 'id': 1000040548254, 'imageUrl': 'http://cjkeizai.j.people.com.cn/mediafile/pic/20250822/56/592998228316100220.jpg', 'inputTime': 1755852270000, 'isDisclosed': None, 'isElited': None, 'isFixed': None, 'isOfficial': None, 'isRecommend': None, 'keyword': None, 'newsJson': None, 'originNodeRname': '人民网#日本频道#中日经济交流网#中日万象', 'originUrl': 'http://www.chinanews.com.cn/gn/2025/08-21/10468902.shtml', 'originalName': None, 'originalType': None, 'pretitle': '', 'shorttitle': '', 'source': 1, 'sourceId': 40548254, 'contentId': 40548254, 'sourcetitle': '(抗战胜利80周年)《日本投降》新闻纪录片原始视频公布', 'sourceType': 1, 'subtitle': '', 'title': '(抗战胜利80周年)《日本投降》<em>新闻</em>纪录片原始<em>视频</em>公布', 'url': 'http://cjkeizai.j.people.com.cn/n1/2025/0822/c368507-40548254.html', 'originName': '中国新闻网'}, {'author': '', 'belongsName': '#传媒#', 'belongsId': '[\"14677\"]', 'content': '根据《中国新闻奖评选办法》和中国广播电视社会组织联合会通知,现对人民日报社推荐参加第34届中国新闻奖音视频<em>新闻</em>访谈、音视频<em>新闻</em>直播初评的4件作品予以公示。公示期为2024年4月12日至4月18日,共5个工作日。如有不同意见,可于4月18日17时前通过书面、电话等方式反映。', 'contentOriginal': '<p style=\"text-indent: 2em;\">根据《中国新闻奖评选办法》和中国广播电视社会组织联合会通知,现对人民日报社推荐参加第34届中国新闻奖音视频新闻访谈、音视频新闻直播初评的4件作品予以公示。公示期为2024年4月12日至4月18日,共5个工作日。如有不同意见,可于4月18日17时前通过书面、电话等方式反映。</p>\\n<p style=\"text-indent: 2em;\">电话:010-65363945</p>\\n<p style=\"text-indent: 2em;\">邮箱:xwpx@people.cn</p>\\n<p style=\"text-indent: 2em; text-align: right;\">人民日报社</p>\\n<p style=\"text-indent: 2em; text-align: right;\">2024年4月12日</p>\\n<p style=\"text-indent: 2em;\"><strong>新媒体音视频访谈4件:</strong></p>\\n<p style=\"text-indent: 2em;\"><a href=\"http://download.people.com.cn/abc/four17129291931.rar\" target=\"_blank\" rel=\"noopener\">1.2023全国两会·两会夜话第三期:身边的民主 管用的民主</a></p>\\n<p style=\"text-indent: 2em;\"><a href=\"http://download.people.com.cn/abc/four17129292641.rar\" target=\"_blank\" rel=\"noopener\">2.两会零时差|老挝驻华大使:中国式现代化具有重要的世界意义</a></p>\\n<p style=\"text-indent: 2em;\"><a href=\"http://download.people.com.cn/abc/four17129292861.rar\" target=\"_blank\" rel=\"noopener\">3.“思想的力量”网络公开课</a></p>\\n<p style=\"text-indent: 2em;\"><a href=\"http://download.people.com.cn/abc/four17150912271.zip\" target=\"_blank\" rel=\"noopener\">4.【大使眼里的元首外交⑩】“无论是雨是晴,巴中始终站在一起”</a></p>', 'displayTime': 1712927181000, 'domain': 'media.people.com.cn', 'editor': '白宇', 'hasImg': 0, 'hasVideo': 0, 'id': 1000040215113, 'imageUrl': None, 'inputTime': 1712927181000, 'isDisclosed': None, 'isElited': None, 'isFixed': None, 'isOfficial': None, 'isRecommend': None, 'keyword': '', 'newsJson': None, 'originNodeRname': '人民网#传媒', 'originUrl': '', 'originalName': None, 'originalType': None, 'pretitle': '', 'shorttitle': '', 'source': 1, 'sourceId': 40215113, 'contentId': 40215113, 'sourcetitle': '', 'sourceType': 1, 'subtitle': '', 'title': '人民日报社参加第34届中国<em>新闻</em>奖音<em>视频</em><em>新闻</em>访谈、音<em>视频</em><em>新闻</em>直播初评作品公示', 'url': 'http://media.people.com.cn/n1/2024/0412/c14677-40215113.html', 'originName': '人民网'}, {'author': '', 'belongsName': '图片报道', 'belongsId': '[\"460959\"]', 'content': '国务院新闻办新闻局局长、新闻发言人寿小丽邀请记者提问 中国网 郑亮', 'contentOriginal': '<p style=\"text-align: center;\"><img src=\"/NMediaFile/2025/0828/MAIN1756351942867XWO5F4ZOO1.jpg\" width=\"800\" height=\"600\" alt=\"\"></p> <p style=\"text-align: center;\">国务院新闻办新闻局局长、新闻发言人寿小丽邀请记者提问</p> <p style=\"text-align: center;\">中国网 郑亮</p>', 'displayTime': 1756351952000, 'domain': 'cpc.people.com.cn', 'editor': '王珂园', 'hasImg': 1, 'hasVideo': 0, 'id': 1000040551973, 'imageUrl': 'http://cpc.people.com.cn/NMediaFile/2025/0828/MAIN1756351942867XWO5F4ZOO1.jpg', 'inputTime': 1756351952000, 'isDisclosed': None, 'isElited': None, 'isFixed': None, 'isOfficial': None, 'isRecommend': None, 'keyword': None, 'newsJson': None, 'originNodeRname': '中国共产党新闻网#专题报道#纪念中国人民抗日战争暨世界反法西斯战争胜利80周年#本网直播#中国人民抗日战争暨世界反法西斯战争胜利80周年纪念活动新闻中心第一场记者招待会#图片报道', 'originUrl': 'http://www.china.com.cn/zhibo/content_118045249.htm', 'originalName': None, 'originalType': None, 'pretitle': '', 'shorttitle': '', 'source': 1, 'sourceId': 40551973, 'contentId': 40551973, 'sourcetitle': '', 'sourceType': 1, 'subtitle': '', 'title': '国务院<em>新闻</em>办<em>新闻</em>局局长、<em>新闻</em>发言人寿小丽邀请记者提问', 'url': 'http://cpc.people.com.cn/n1/2025/0828/c460959-40551973.html', 'originName': '中国网'}, {'author': '', 'belongsName': '图片报道', 'belongsId': '[\"460961\"]', 'content': '国务院新闻办新闻局局长、新闻发言人寿小丽邀请记者提问 中国网 郑亮', 'contentOriginal': '<p style=\"text-align: center;\"><img src=\"/NMediaFile/2025/0829/MAIN1756437252763C7Q7C4P40A.jpg\" width=\"800\" height=\"600\" alt=\"\"></p> <p style=\"text-align: center;\">国务院新闻办新闻局局长、新闻发言人寿小丽邀请记者提问</p> <p style=\"text-align: center;\">中国网 郑亮</p>', 'displayTime': 1756437257000, 'domain': 'cpc.people.com.cn', 'editor': '王珂园', 'hasImg': 1, 'hasVideo': 0, 'id': 1000040552779, 'imageUrl': 'http://cpc.people.com.cn/NMediaFile/2025/0829/MAIN1756437252763C7Q7C4P40A.jpg', 'inputTime': 1756437258000, 'isDisclosed': None, 'isElited': None, 'isFixed': None, 'isOfficial': None, 'isRecommend': None, 'keyword': None, 'newsJson': None, 'originNodeRname': '中国共产党新闻网#专题报道#纪念中国人民抗日战争暨世界反法西斯战争胜利80周年#本网直播#中国人民抗日战争暨世界反法西斯战争胜利80周年纪念活动新闻中心第二场记者招待会#图片报道', 'originUrl': 'http://www.china.com.cn/zhibo/content_118047028.htm', 'originalName': None, 'originalType': None, 'pretitle': '', 'shorttitle': '', 'source': 1, 'sourceId': 40552779, 'contentId': 40552779, 'sourcetitle': '', 'sourceType': 1, 'subtitle': '', 'title': '国务院<em>新闻</em>办<em>新闻</em>局局长、<em>新闻</em>发言人寿小丽邀请记者提问', 'url': 'http://cpc.people.com.cn/n1/2025/0829/c460961-40552779.html', 'originName': '中国网'}, {'author': '', 'belongsName': '图片报道', 'belongsId': '[\"460959\"]', 'content': '国务院新闻办新闻局局长、新闻发言人寿小丽主持记者招待会 中国网 郑亮', 'contentOriginal': '<p style=\"text-align: center;\"><img src=\"/NMediaFile/2025/0828/MAIN1756351844858SZKOZ76H2O.jpg\" width=\"800\" height=\"600\" alt=\"\"></p> <p style=\"text-align: center;\">国务院新闻办新闻局局长、新闻发言人寿小丽主持记者招待会</p> <p style=\"text-align: center;\">中国网 郑亮</p>', 'displayTime': 1756351856000, 'domain': 'cpc.people.com.cn', 'editor': '王珂园', 'hasImg': 1, 'hasVideo': 0, 'id': 1000040551971, 'imageUrl': 'http://cpc.people.com.cn/NMediaFile/2025/0828/MAIN1756351844858SZKOZ76H2O.jpg', 'inputTime': 1756351857000, 'isDisclosed': None, 'isElited': None, 'isFixed': None, 'isOfficial': None, 'isRecommend': None, 'keyword': None, 'newsJson': None, 'originNodeRname': '中国共产党新闻网#专题报道#纪念中国人民抗日战争暨世界反法西斯战争胜利80周年#本网直播#中国人民抗日战争暨世界反法西斯战争胜利80周年纪念活动新闻中心第一场记者招待会#图片报道', 'originUrl': 'http://www.china.com.cn/zhibo/content_118045249.htm', 'originalName': None, 'originalType': None, 'pretitle': '', 'shorttitle': '', 'source': 1, 'sourceId': 40551971, 'contentId': 40551971, 'sourcetitle': '', 'sourceType': 1, 'subtitle': '', 'title': '国务院<em>新闻</em>办<em>新闻</em>局局长、<em>新闻</em>发言人寿小丽主持记者招待会', 'url': 'http://cpc.people.com.cn/n1/2025/0828/c460959-40551971.html', 'originName': '中国网'}, {'author': '', 'belongsName': '图片报道', 'belongsId': '[\"460961\"]', 'content': '国务院新闻办新闻局局长、新闻发言人寿小丽主持记者招待会 中国网 郑亮', 'contentOriginal': '<p style=\"text-align: center;\"><img src=\"/NMediaFile/2025/0829/MAIN1756437530762AIS3XWH62A.jpg\" width=\"800\" height=\"600\" alt=\"\"></p> <p style=\"text-align: center;\">国务院新闻办新闻局局长、新闻发言人寿小丽主持记者招待会</p> <p style=\"text-align: center;\">中国网 郑亮</p>', 'displayTime': 1756437535000, 'domain': 'cpc.people.com.cn', 'editor': '王珂园', 'hasImg': 1, 'hasVideo': 0, 'id': 1000040552781, 'imageUrl': 'http://cpc.people.com.cn/NMediaFile/2025/0829/MAIN1756437530762AIS3XWH62A.jpg', 'inputTime': 1756437535000, 'isDisclosed': None, 'isElited': None, 'isFixed': None, 'isOfficial': None, 'isRecommend': None, 'keyword': None, 'newsJson': None, 'originNodeRname': '中国共产党新闻网#专题报道#纪念中国人民抗日战争暨世界反法西斯战争胜利80周年#本网直播#中国人民抗日战争暨世界反法西斯战争胜利80周年纪念活动新闻中心第二场记者招待会#图片报道', 'originUrl': 'http://www.china.com.cn/zhibo/content_118047028.htm', 'originalName': None, 'originalType': None, 'pretitle': '', 'shorttitle': '', 'source': 1, 'sourceId': 40552781, 'contentId': 40552781, 'sourcetitle': '', 'sourceType': 1, 'subtitle': '', 'title': '国务院<em>新闻</em>办<em>新闻</em>局局长、<em>新闻</em>发言人寿小丽主持记者招待会', 'url': 'http://cpc.people.com.cn/n1/2025/0829/c460961-40552781.html', 'originName': '中国网'}], 'total': 15882, 'size': 10, 'current': 1, 'orders': [], 'optimizeCountSql': True, 'hitCount': False, 'countId': None, 'maxLimit': None, 'searchCount': True, 'pages': 1589}, 'server_time': 1762593711}\u001b[0m\n",
|
||
"\u001b[32m2025-11-08 17:21:50.914\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36mcrawler.RmrbCrawler\u001b[0m:\u001b[36msearch\u001b[0m:\u001b[36m113\u001b[0m - \u001b[1m搜索到 0 条新闻\u001b[0m\n"
|
||
]
|
||
},
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"\n",
|
||
"搜索关键词: 视频新闻\n",
|
||
"搜索结果数量: 0\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"# 测试搜索\n",
|
||
"search_keyword = \"视频新闻\"\n",
|
||
"search_results = crawler.search(key=search_keyword, page=1, limit=10, news_type=0)\n",
|
||
"\n",
|
||
"print(f\"\\n搜索关键词: {search_keyword}\")\n",
|
||
"print(f\"搜索结果数量: {len(search_results)}\")\n",
|
||
"\n",
|
||
"if search_results:\n",
|
||
" for i, news in enumerate(search_results, 1):\n",
|
||
" print(f\"\\n{i}. {news.title}\")\n",
|
||
" print(f\" 链接: {news.url}\")\n",
|
||
" print(f\" 时间: {news.publish_time}\")"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"## 4. 测试爬取列表页"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"# 爬取新闻列表\n",
|
||
"category = \"politics\" # 可选: politics, society, world, finance, tech, culture, education\n",
|
||
"limit = 5\n",
|
||
"\n",
|
||
"news_list = crawler.crawl(category=category, limit=limit)\n",
|
||
"\n",
|
||
"print(f\"\\n爬取分类: {category}\")\n",
|
||
"print(f\"爬取数量: {len(news_list)}/{limit}\")\n",
|
||
"\n",
|
||
"# 显示结果\n",
|
||
"for i, news in enumerate(news_list, 1):\n",
|
||
" print(f\"\\n{i}. {news.title}\")\n",
|
||
" print(f\" 链接: {news.url}\")\n",
|
||
" print(f\" 来源: {news.source}\")\n",
|
||
" print(f\" 时间: {news.publish_time}\")\n"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"## 5. 测试解析单个新闻详情"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"# 测试解析单个新闻页面\n",
|
||
"test_url = \"http://www.people.com.cn/\" # 替换为实际的新闻URL\n",
|
||
"\n",
|
||
"# 如果之前爬取有结果,使用第一条新闻的URL\n",
|
||
"if news_list:\n",
|
||
" test_url = news_list[0].url\n",
|
||
"\n",
|
||
"print(f\"测试URL: {test_url}\")\n",
|
||
"news_detail = crawler.parse_news_detail(test_url)\n",
|
||
"\n",
|
||
"if news_detail:\n",
|
||
" print(\"\\n新闻详情:\")\n",
|
||
" print(f\"标题: {news_detail.title}\")\n",
|
||
" print(f\"作者: {news_detail.author}\")\n",
|
||
" print(f\"时间: {news_detail.publish_time}\")\n",
|
||
" print(f\"来源: {news_detail.source}\")\n",
|
||
" print(f\"图片数量: {len(news_detail.images)}\")\n",
|
||
" print(f\"\\n内容预览 (前200字):\")\n",
|
||
" print(news_detail.content[:200] if news_detail.content else \"无内容\")\n",
|
||
"else:\n",
|
||
" print(\"解析失败\")\n"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"## 6. 导出数据"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"# 将爬取的数据转换为字典列表\n",
|
||
"if news_list:\n",
|
||
" news_data = [news.model_dump() for news in news_list]\n",
|
||
" \n",
|
||
" # 保存为JSON文件\n",
|
||
" output_file = \"../output/test_news_from_notebook.json\"\n",
|
||
" os.makedirs(os.path.dirname(output_file), exist_ok=True)\n",
|
||
" \n",
|
||
" with open(output_file, 'w', encoding='utf-8') as f:\n",
|
||
" json.dump(news_data, f, ensure_ascii=False, indent=2)\n",
|
||
" \n",
|
||
" print(f\"数据已保存到: {output_file}\")\n",
|
||
" print(f\"总计: {len(news_data)} 条新闻\")\n"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"## 7. 数据统计分析"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"if news_list:\n",
|
||
" # 统计信息\n",
|
||
" total_news = len(news_list)\n",
|
||
" news_with_images = sum(1 for news in news_list if news.images)\n",
|
||
" news_with_author = sum(1 for news in news_list if news.author)\n",
|
||
" news_with_time = sum(1 for news in news_list if news.publish_time)\n",
|
||
" \n",
|
||
" print(\"=\" * 50)\n",
|
||
" print(\"爬取数据统计\")\n",
|
||
" print(\"=\" * 50)\n",
|
||
" print(f\"总新闻数量: {total_news}\")\n",
|
||
" print(f\"包含图片: {news_with_images} ({news_with_images/total_news*100:.1f}%)\")\n",
|
||
" print(f\"有作者信息: {news_with_author} ({news_with_author/total_news*100:.1f}%)\")\n",
|
||
" print(f\"有时间信息: {news_with_time} ({news_with_time/total_news*100:.1f}%)\")\n",
|
||
" \n",
|
||
" # 平均内容长度\n",
|
||
" avg_content_length = sum(len(news.content) for news in news_list) / total_news\n",
|
||
" print(f\"平均内容长度: {avg_content_length:.0f} 字符\")\n",
|
||
" \n",
|
||
" # 图片总数\n",
|
||
" total_images = sum(len(news.images) for news in news_list)\n",
|
||
" print(f\"图片总数: {total_images}\")\n",
|
||
" print(\"=\" * 50)\n"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"## 8. 清理资源"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"# 关闭爬虫会话\n",
|
||
"crawler.close()\n",
|
||
"print(\"爬虫会话已关闭\")\n"
|
||
]
|
||
}
|
||
],
|
||
"metadata": {
|
||
"kernelspec": {
|
||
"display_name": "shoolNewsCrewer",
|
||
"language": "python",
|
||
"name": "python3"
|
||
},
|
||
"language_info": {
|
||
"codemirror_mode": {
|
||
"name": "ipython",
|
||
"version": 3
|
||
},
|
||
"file_extension": ".py",
|
||
"mimetype": "text/x-python",
|
||
"name": "python",
|
||
"nbconvert_exporter": "python",
|
||
"pygments_lexer": "ipython3",
|
||
"version": "3.10.19"
|
||
}
|
||
},
|
||
"nbformat": 4,
|
||
"nbformat_minor": 2
|
||
}
|