diff --git a/project/202506050301-宋瑞-期末实验报告.docx b/project/202506050301-宋瑞-期末实验报告.docx new file mode 100644 index 0000000..4a88639 Binary files /dev/null and b/project/202506050301-宋瑞-期末实验报告.docx differ diff --git a/project/资讯爬虫/data/知乎1.json b/project/资讯爬虫/data/知乎1.json new file mode 100644 index 0000000..e3bbb8e --- /dev/null +++ b/project/资讯爬虫/data/知乎1.json @@ -0,0 +1,146 @@ +[ + { + "id": "6859ecc9-c992-4e93-93e6-87ddc6e1a6be", + "title": "浏览内容", + "articleUrl": "#section_head", + "author": "知乎日报", + "source": "知乎日报", + "crawledAt": "2026-05-30T14:49:20.886753" + }, + { + "id": "5dbcafb6-8a83-4052-aed1-850e72265f91", + "title": "App 下载", + "articleUrl": "http://www.wandoujia.com/apps/com.zhihu.daily.android", + "author": "知乎日报", + "source": "知乎日报", + "crawledAt": "2026-05-30T14:49:20.886753" + }, + { + "id": "06b7c5b6-c4ce-4281-9e7d-6e312858307d", + "title": "知乎日报", + "articleUrl": "http://daily.zhihu.com/", + "author": "知乎日报", + "source": "知乎日报", + "crawledAt": "2026-05-30T14:49:20.886753" + }, + { + "id": "e4880198-329b-47c7-bf7b-78052aa2bf8b", + "title": "iOS 版", + "articleUrl": "https://itunes.apple.com/cn/app/id639087967?mt\u003d8", + "author": "知乎日报", + "source": "知乎日报", + "crawledAt": "2026-05-30T14:49:20.886753" + }, + { + "id": "e17a296b-5f65-4bfb-b12f-9fd4fe1a07d7", + "title": "文学创作会不会受到 AI 的冲击?", + "articleUrl": "https://daily.zhihu.com/story/9790086", + "author": "知乎日报", + "source": "知乎日报", + "crawledAt": "2026-05-30T14:49:20.886753" + }, + { + "id": "12676469-494d-473a-89c8-01f140a57188", + "title": "为什么说西西弗斯面对巨石,不断推上山是一种超越和蔑视?", + "articleUrl": "https://daily.zhihu.com/story/9790101", + "author": "知乎日报", + "source": "知乎日报", + "crawledAt": "2026-05-30T14:49:20.886753" + }, + { + "id": "625a5f08-3ce9-487f-b367-5be0cdb7500e", + "title": "有哪些看起来很高端的技术其实原理很暴力很初级?", + "articleUrl": "https://daily.zhihu.com/story/9790092", + "author": "知乎日报", + "source": "知乎日报", + "crawledAt": "2026-05-30T14:49:20.886753" + }, + { + "id": "d4aa8adc-e4af-4194-bef1-bdf233742f86", + "title": "中国古代官方不重视理工科吗,如果是,为什么?", + "articleUrl": "https://daily.zhihu.com/story/9790090", + "author": "知乎日报", + "source": "知乎日报", + "crawledAt": "2026-05-30T14:49:20.886753" + }, + { + "id": "e36a73d4-c0b8-4674-b4d5-d1d9de5cd894", + "title": "为什么人类不能自身合成维生素C?", + "articleUrl": "https://daily.zhihu.com/story/9790062", + "author": "知乎日报", + "source": "知乎日报", + "crawledAt": "2026-05-30T14:49:20.886753" + }, + { + "id": "e7adc448-4570-45e6-a6e7-46b1397f0677", + "title": "林黛玉被妙玉嫌弃太俗,却不敢反驳,她怼贾宝玉的劲儿哪去了?", + "articleUrl": "https://daily.zhihu.com/story/9790081", + "author": "知乎日报", + "source": "知乎日报", + "crawledAt": "2026-05-30T14:49:20.886753" + }, + { + "id": "37468176-caca-47f2-b422-b467a644e0ff", + "title": "魏博没有山川险阻,靠什么屹立150年。甚至长期成为最强藩?", + "articleUrl": "https://daily.zhihu.com/story/9790071", + "author": "知乎日报", + "source": "知乎日报", + "crawledAt": "2026-05-30T14:49:20.886753" + }, + { + "id": "bdf153fc-5ece-4ea3-85bb-de0a2b49f5ee", + "title": "瞎扯 · 如何正确地吐槽", + "articleUrl": "https://daily.zhihu.com/story/9790084", + "author": "知乎日报", + "source": "知乎日报", + "crawledAt": "2026-05-30T14:49:20.886753" + }, + { + "id": "e9cec0a7-82c2-43e5-a529-92d3979d4b24", + "title": "为什么松鼠的动作总是一顿一顿的?像卡帧一样?", + "articleUrl": "https://daily.zhihu.com/story/9790034", + "author": "知乎日报", + "source": "知乎日报", + "crawledAt": "2026-05-30T14:49:20.886753" + }, + { + "id": "288cd539-af4b-4bf1-81ee-6fe5a9936fae", + "title": "既有 F\u003dma,又有F\u003dkx,那么物理公式到底要求等号左边是因还是果?", + "articleUrl": "https://daily.zhihu.com/story/9790046", + "author": "知乎日报", + "source": "知乎日报", + "crawledAt": "2026-05-30T14:49:20.886753" + }, + { + "id": "c595c7e0-e768-4f5e-a0ed-9982466bf761", + "title": "西安唐代城门恢复为何不学洛阳,丹凤门像土黄色纸壳子,明德门像塑料玩具?", + "articleUrl": "https://daily.zhihu.com/story/9790039", + "author": "知乎日报", + "source": "知乎日报", + "crawledAt": "2026-05-30T14:49:20.886753" + }, + { + "id": "3bc7435b-2ac8-4979-bd8c-20da0b4f7a3d", + "title": "游牧民族几乎没有碳水来源,为什么没有营养不良?", + "articleUrl": "https://daily.zhihu.com/story/9790022", + "author": "知乎日报", + "source": "知乎日报", + "crawledAt": "2026-05-30T14:49:20.886753" + }, + { + "id": "c5ebc7af-5117-46a7-9107-1f28ed91d0c1", + "title": "为什么压力单位这么混乱?", + "articleUrl": "https://daily.zhihu.com/story/9790028", + "author": "知乎日报", + "source": "知乎日报", + "crawledAt": "2026-05-30T14:49:20.886753" + }, + { + "id": "867ebe9e-0016-4e29-a407-319ef50aa51c", + "title": "为什么会有好奇害死猫这个说法?", + "articleUrl": "https://daily.zhihu.com/story/9790027", + "author": "知乎日报", + "source": "知乎日报", + "crawledAt": "2026-05-30T14:49:20.886753" + } +] \ No newline at end of file diff --git a/project/资讯爬虫/data/菜鸟1.json b/project/资讯爬虫/data/菜鸟1.json new file mode 100644 index 0000000..bc09c87 --- /dev/null +++ b/project/资讯爬虫/data/菜鸟1.json @@ -0,0 +1,1255 @@ +[ + { + "id": "bb539253-26f7-4d4b-98ea-58a8e508e7b8", + "title": "菜鸟教程 -- 学的不仅是技术,更是梦想!", + "articleUrl": "/", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.869734700" + }, + { + "id": "09c5d816-2f61-4dd6-898e-2a3b48093da0", + "title": "HTML 手册", + "articleUrl": "tags/html-reference.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.871811300" + }, + { + "id": "9bcacecd-eb63-4cd5-95cc-64664ab1c0c3", + "title": "Javascript", + "articleUrl": "jsref/jsref-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.871811300" + }, + { + "id": "57cdcb03-bc29-46d2-b8de-5f14efb3af47", + "title": "CSS 1,2,3", + "articleUrl": "cssref/css-reference.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.871811300" + }, + { + "id": "700f72ca-c106-42a6-8103-b37ba53b3d13", + "title": "Zepto 中文手册", + "articleUrl": "manual/zeptojs.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.871811300" + }, + { + "id": "b6645120-613c-4266-980b-9d962afc9094", + "title": "Flat UI", + "articleUrl": "manual/Flat-UI/", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.871811300" + }, + { + "id": "1752e799-9319-4cdc-b363-5fbdb25f7be8", + "title": "PostgreSQL 手册", + "articleUrl": "manual/PostgreSQL/", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.871811300" + }, + { + "id": "dcfe2896-6fce-405f-b550-4238266a9848", + "title": "HTML 测验", + "articleUrl": "quiz/html-quiz.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.871811300" + }, + { + "id": "cd42d463-77bc-4bd3-b491-29f5b9a15a33", + "title": "HTML5 测验", + "articleUrl": "quiz/html5-quiz.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.871811300" + }, + { + "id": "7b315058-7d67-4ad2-b863-7f299aa847e7", + "title": "XHTML 测验", + "articleUrl": "quiz/xhtml-quiz.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.872824900" + }, + { + "id": "d08f6edf-f44b-4907-9b61-c9c285de85c4", + "title": "CSS 测验", + "articleUrl": "quiz/css-quiz.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.872824900" + }, + { + "id": "cbdbc0d2-2fbc-4042-8989-ffec6a1b4c32", + "title": "jQuery 测验", + "articleUrl": "quiz/jquery-quiz.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.872824900" + }, + { + "id": "a94e432a-57d0-4057-a251-eb784f316127", + "title": "XML 测验", + "articleUrl": "quiz/xml-quiz.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.872824900" + }, + { + "id": "2949414e-ff06-4601-ab7c-9edbb1d3191f", + "title": "ASP 测验", + "articleUrl": "quiz/asp-quiz.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.872824900" + }, + { + "id": "18c1e9b6-edfc-43e0-afb1-fe5bbcd6403b", + "title": "PHP 测验", + "articleUrl": "quiz/php-quiz.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.872824900" + }, + { + "id": "13533416-3ef8-45d1-8c13-9ade583ee829", + "title": "SQL 测验", + "articleUrl": "quiz/sql-quiz.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.872824900" + }, + { + "id": "589e34f2-df8a-4454-9e59-014e6f76cad6", + "title": "Python 测验", + "articleUrl": "/quiz/python-quiz.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.873823800" + }, + { + "id": "21676623-8265-4b2a-9afa-b5b2ea5bcd62", + "title": "【学习 Python】 Python3 是当前主流 Python 版本。", + "articleUrl": "https://www.runoob.com/python3/python3-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.873823800" + }, + { + "id": "438c76c0-9bda-4a0a-b75b-3f4b036d542d", + "title": "【学习 Python2.x】 Python 经典版本。", + "articleUrl": "https://www.runoob.com/python/python-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.873823800" + }, + { + "id": "f178e6c2-bb4b-4d56-ba1a-021464c59bb3", + "title": "【学习 FastAPI】 现代高性能 Python API 框架。", + "articleUrl": "https://www.runoob.com/fastapi/fastapi-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.873823800" + }, + { + "id": "57d98533-5d90-41f6-a912-bd9c41053088", + "title": "【学习 Flask】 轻量级 Python Web 应用框架。", + "articleUrl": "https://www.runoob.com/flask/flask-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.874824800" + }, + { + "id": "a536bb9b-aaa0-4989-8bcc-fe283b33473f", + "title": "【学习 Django】 全功能 Python Web 开发框架。", + "articleUrl": "https://www.runoob.com/django/django-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.874824800" + }, + { + "id": "4839168d-c554-474b-9dfc-b654c6d98c74", + "title": "【学习 NumPy】 Python 科学计算核心库。", + "articleUrl": "https://www.runoob.com/numpy/numpy-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.874824800" + }, + { + "id": "64b2f402-efa3-4704-93ca-e4a4a1ca0b49", + "title": "【学习 Pandas】 Python 数据分析核心库。", + "articleUrl": "https://www.runoob.com/pandas/pandas-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.874824800" + }, + { + "id": "e249ba0c-59e7-4449-a205-4119b035768b", + "title": "【学习 SciPy】 Python 数学与科学计算工具包。", + "articleUrl": "https://www.runoob.com/scipy/scipy-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.874824800" + }, + { + "id": "6f7bdec8-3e5f-40f8-8e02-1c310635feef", + "title": "【学习 Matplotlib】 Python 数据可视化绘图库。", + "articleUrl": "https://www.runoob.com/matplotlib/matplotlib-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.874824800" + }, + { + "id": "ca73bed5-fbc0-471e-a876-7f02768f147d", + "title": "【学习 Dash】 Python 数据分析与可视化 Web 框架。", + "articleUrl": "https://www.runoob.com/dash/dash-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.874824800" + }, + { + "id": "294405b6-5329-48f2-ae98-6b580952aef2", + "title": "【学习 Jupyter Notebook】 交互式数据分析与计算工具。", + "articleUrl": "https://www.runoob.com/jupyter-notebook/jupyter-notebook-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.874824800" + }, + { + "id": "123f7f10-b7ef-4399-b3b5-97920c1a5fde", + "title": "【学习 Pillow】 Python 图像处理库。", + "articleUrl": "https://www.runoob.com/pillow/pillow-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.874824800" + }, + { + "id": "de3379f4-a9b3-44cd-99c4-0402f85db8c3", + "title": "【量化交易】 利用程序化策略进行金融交易。", + "articleUrl": "https://www.runoob.com/qt/qt-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.874824800" + }, + { + "id": "519bf232-c869-402e-ba32-b4a119b32f46", + "title": "【学习 R】 用于统计分析与数据科学的编程语言。", + "articleUrl": "https://www.runoob.com/r/r-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.874824800" + }, + { + "id": "9f139efe-af29-42c5-bafd-268d4701453f", + "title": "【学习 Julia】 面向科学计算的高性能语言。", + "articleUrl": "https://www.runoob.com/julia/julia-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.874824800" + }, + { + "id": "c4ad857c-11b0-49e0-9a44-a0db62b02efa", + "title": "【AI Agent(智能体)】 AI Agent 让模型不只回答问题,而是按步骤完成动作。", + "articleUrl": "https://www.runoob.com/ai-agent/ai-agent-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.874824800" + }, + { + "id": "972b4c8a-f638-4f36-883e-e3337a17ed30", + "title": "【Skills(技能)】 Skills 让智能体具备特定能力与工作流。", + "articleUrl": "https://www.runoob.com/skills/skills-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.874824800" + }, + { + "id": "e85d4571-a4c2-452f-aded-67b7d11bbff9", + "title": "【Codex 教程】 OpenAI 推出的 AI 编程协作工具。", + "articleUrl": "https://www.runoob.com/codex/codex-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.875822800" + }, + { + "id": "5ea20531-db53-48b4-a6b9-d25f1fb7608f", + "title": "【Claude Code】 Anthropic 推出的 AI 编程协作工具。", + "articleUrl": "https://www.runoob.com/claude-code/claude-code-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.875822800" + }, + { + "id": "ffa77eed-4650-40bf-a2a9-25f6bfe016d6", + "title": "【OpenCode】 开源 AI 编程协作工具。", + "articleUrl": "https://www.runoob.com/opencode/opencode-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.875822800" + }, + { + "id": "26c0037b-87d8-495c-ad29-9cab18000ded", + "title": "【学习 Ollama】 开源本地大语言模型运行框架。", + "articleUrl": "https://www.runoob.com/ollama/ollama-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.875822800" + }, + { + "id": "f0e464af-5e15-4f3a-b76e-344c45502f8f", + "title": "【学习 TensorFlow】 TensorFlow 是一个开源机器学习框架。", + "articleUrl": "https://www.runoob.com/tensorflow/tensorflow-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.875822800" + }, + { + "id": "e331d012-3dcf-4500-bcf6-39e6dca02124", + "title": "【学习 PyTorch】 PyTorch 是一个开源机器学习框架。", + "articleUrl": "https://www.runoob.com/pytorch/pytorch-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.875822800" + }, + { + "id": "dcafa314-a102-45e5-90c4-791e19c6b6bc", + "title": "【学习 Scikit-learn】 Scikit-learn 是一个开源机器学习库。", + "articleUrl": "https://www.runoob.com/sklearn/sklearn-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.875822800" + }, + { + "id": "20d50351-1a84-4976-86be-24eab961f655", + "title": "【机器学习】 机器学习是让机器通过数据进行预测与决策。", + "articleUrl": "https://www.runoob.com/ml/ml-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.875822800" + }, + { + "id": "f8db492c-48d8-4d10-9ebc-26d25355646f", + "title": "【LangChain】 用于构建基于大语言模型的应用程序的框架。", + "articleUrl": "https://www.runoob.com/langchain/langchain-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.875822800" + }, + { + "id": "ddd7de70-9398-405a-9c2e-fb2d72f59ac3", + "title": "【自然语言处理 NLP】 自然语言处理是人工智能与语言学的交叉领域。", + "articleUrl": "https://www.runoob.com/nlp/nlp-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.876917200" + }, + { + "id": "66fe1d91-e863-4e5a-923f-21a72f62cf1a", + "title": "【学习 OpenCV】 开源计算机视觉与机器学习软件库。", + "articleUrl": "https://www.runoob.com/opencv/opencv-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.876917200" + }, + { + "id": "1a8bb147-e2b1-4734-8d26-09a86a68b8c5", + "title": "【学习 Selenium】 自动化 Web 浏览器操作工具。", + "articleUrl": "https://www.runoob.com/selenium/selenium-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.876917200" + }, + { + "id": "339e41c1-0c9d-4a53-bf67-c7ce1686dfff", + "title": "【学习 Playwright】 现代 Web 自动化与端到端测试框架。", + "articleUrl": "https://www.runoob.com/playwright/playwright-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.876917200" + }, + { + "id": "99748769-9349-48c6-9e43-3af1625c4cd0", + "title": "【学习 HTML】 HTML 是网页的标准标记语言。", + "articleUrl": "https://www.runoob.com/html/html-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.876917200" + }, + { + "id": "2fa998da-7781-4a81-afdb-cbcc5d97d6ac", + "title": "【学习 HTML5】 下一代 HTML 标准。", + "articleUrl": "https://www.runoob.com/html/html5-intro.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.876917200" + }, + { + "id": "7a42daab-b408-43eb-b4db-fa3761218cc3", + "title": "【学习 CSS】 网页样式与布局语言。", + "articleUrl": "https://www.runoob.com/css/css-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.876917200" + }, + { + "id": "8427fd8c-4f6b-4d72-8124-eb2a05598a03", + "title": "【学习 CSS3】 CSS3 是 CSS 技术升级版本。", + "articleUrl": "https://www.runoob.com/css3/css3-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.876917200" + }, + { + "id": "71e1fe1e-cecc-4690-b866-0fb8db0acd31", + "title": "【学习 JavaScript】 Web 核心编程语言。", + "articleUrl": "https://www.runoob.com/js/js-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.876917200" + }, + { + "id": "2d77a49d-e857-4b9e-9bf1-4ab796b5e488", + "title": "【学习 HTML DOM】 HTML DOM 定义了访问和操作 HTML 文档的标准方法。", + "articleUrl": "https://www.runoob.com/htmldom/htmldom-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.876917200" + }, + { + "id": "61e40b54-d44b-404c-96be-b47ff8f49791", + "title": "【学习 TypeScript】 JavaScript 的超集语言。", + "articleUrl": "https://www.runoob.com/typescript/ts-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.876917200" + }, + { + "id": "a5f607a7-0f90-4962-9ca3-e53f3e958cb4", + "title": "【学习 AJAX】 异步 Web 数据交互技术。", + "articleUrl": "https://www.runoob.com/ajax/ajax-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.877928800" + }, + { + "id": "7abe5ebe-4ffd-4c83-a9d0-ed11f6672dce", + "title": "【学习 JSON】 数据交换标准格式。", + "articleUrl": "https://www.runoob.com/json/json-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.877928800" + }, + { + "id": "3445225a-de7b-4025-86a1-9134310237d3", + "title": "【学习 Tailwind CSS】 实用优先 CSS 框架。", + "articleUrl": "https://www.runoob.com/tailwindcss/tailwindcss-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.877928800" + }, + { + "id": "82b49d6d-b5e0-45d0-bc4c-8cb91f3b6e92", + "title": "【学习 Bootstrap4】 经典响应式前端框架。", + "articleUrl": "https://www.runoob.com/bootstrap4/bootstrap4-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.877928800" + }, + { + "id": "e17e935d-1f86-4fbe-9b12-e13b6f284f5d", + "title": "【学习 Bootstrap5】 最新 Bootstrap 前端框架。", + "articleUrl": "https://www.runoob.com/bootstrap5/bootstrap5-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.877928800" + }, + { + "id": "93df802f-2556-4fbb-8c7e-f2fbbfdec7a6", + "title": "【学习 Foundation】 响应式 HTML、CSS 与 JavaScript 框架。", + "articleUrl": "https://www.runoob.com/foundation/foundation-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.877928800" + }, + { + "id": "ac60e28f-e792-45d1-a774-deac113a4cc8", + "title": "【学习 Vue.js】 渐进式前端框架。", + "articleUrl": "https://www.runoob.com/vue2/vue-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.877928800" + }, + { + "id": "67475e63-ec9e-4801-8f1f-28afbdde3e27", + "title": "【学习 Vue3】 新一代 Vue 前端框架。", + "articleUrl": "https://www.runoob.com/vue3/vue3-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.877928800" + }, + { + "id": "9345a59e-49f3-4f7f-be35-0576a8680b5b", + "title": "【学习 React】 用于构建 UI 的 JavaScript 库。", + "articleUrl": "https://www.runoob.com/react/react-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.877928800" + }, + { + "id": "f9f99666-ff61-43ab-93ff-205d0589e51e", + "title": "【学习 Next.js】 基于 React 的全栈框架。", + "articleUrl": "https://www.runoob.com/nextjs/nextjs-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.877928800" + }, + { + "id": "8e357d04-49e2-48e0-8c09-93bb82a99d2c", + "title": "【学习 AngularJS】 Google 推出的经典前端框架。", + "articleUrl": "https://www.runoob.com/angularjs/angularjs-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.877928800" + }, + { + "id": "2cfe06f4-afe0-4ae4-a7b2-5bef3d80b4d5", + "title": "【学习 Angular】 现代 Angular 前端框架。", + "articleUrl": "https://www.runoob.com/angularjs2/angularjs2-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.877928800" + }, + { + "id": "8d98ebe5-f178-4a2a-9547-312e3e9965c3", + "title": "【学习 jQuery】 经典 JavaScript 工具库。", + "articleUrl": "https://www.runoob.com/jquery/jquery-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.879070700" + }, + { + "id": "2d38ea7f-a3a8-4e92-8122-ed70a0aec76a", + "title": "【学习 jQuery UI】 基于 jQuery 的 UI 组件库。", + "articleUrl": "https://www.runoob.com/jqueryui/jqueryui-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.879070700" + }, + { + "id": "3bd8bf2d-9533-49e9-b2c0-d0d7190da250", + "title": "【学习 jQuery EasyUI】 基于 jQuery 的 UI 框架。", + "articleUrl": "https://www.runoob.com/jeasyui/jqueryeasyui-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.879070700" + }, + { + "id": "4e330b8e-a38c-49f6-bb81-ba1d9f94abc4", + "title": "【学习 ECharts】 开源数据可视化图表库。", + "articleUrl": "https://www.runoob.com/echarts/echarts-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.879070700" + }, + { + "id": "c28771d6-ca9e-4551-9cd2-1156ef7fd260", + "title": "【学习 Chart.js】 轻量级 JavaScript 图表库。", + "articleUrl": "https://www.runoob.com/chartjs/chartjs-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.879070700" + }, + { + "id": "83a5e51e-65b9-438d-aa6e-293f116f3d4e", + "title": "【学习 Highcharts】 高级交互式图表库。", + "articleUrl": "https://www.runoob.com/highcharts/highcharts-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.879070700" + }, + { + "id": "fd0bb710-2d01-421e-94dc-a54d02b9f1e6", + "title": "【学习 Google 地图】 Google Maps API 使用教程。", + "articleUrl": "https://www.runoob.com/googleapi/google-maps-basic.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.879070700" + }, + { + "id": "21cfb218-2f06-4c24-938c-817d6ca748af", + "title": "【学习 SVG】 基于 XML 的矢量图格式。", + "articleUrl": "https://www.runoob.com/svg/svg-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.879070700" + }, + { + "id": "a6309114-3823-4b55-a624-dd42b3cacef4", + "title": "【学习 Font Awesome】 流行图标字体库。", + "articleUrl": "https://www.runoob.com/font-awesome/fontawesome-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.879070700" + }, + { + "id": "255b65a7-4d69-42c9-ba83-b723c13f6db2", + "title": "【学习 Node.js】 服务端 JavaScript 运行环境。", + "articleUrl": "https://www.runoob.com/nodejs/nodejs-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.879070700" + }, + { + "id": "ffa10e72-6a97-498c-865d-0cb4f9af25f9", + "title": "【学习 Electron】 基于 Web 技术开发跨平台桌面应用。", + "articleUrl": "https://www.runoob.com/electron/electron-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.879070700" + }, + { + "id": "4630cfe7-ace7-45d0-a8ba-56178e84f215", + "title": "【学习 PHP】 经典 Web 服务端语言。", + "articleUrl": "https://www.runoob.com/php/php-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.879070700" + }, + { + "id": "321d71fd-0697-4a1c-b80a-d11ba5ce26ea", + "title": "【学习 Java】 企业级开发主流语言。", + "articleUrl": "https://www.runoob.com/java/java-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.880068100" + }, + { + "id": "1870d82e-a340-44d5-9b91-b21595323595", + "title": "【学习 Go】 Google 推出的现代服务端语言。", + "articleUrl": "https://www.runoob.com/go/go-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.880068100" + }, + { + "id": "2162a8c1-d0fb-4350-bbf7-6c986ecfa664", + "title": "【学习 Rust】 高性能系统级编程语言。", + "articleUrl": "https://www.runoob.com/rust/rust-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.880068100" + }, + { + "id": "cabc4e4f-7aee-43e5-9bf3-f16d6026b853", + "title": "【学习 C#】 .NET 核心开发语言。", + "articleUrl": "https://www.runoob.com/csharp/csharp-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.880068100" + }, + { + "id": "4c368db5-8470-4763-b8f6-56d186204e1a", + "title": "【学习 Servlet】 Java Web 服务端技术。", + "articleUrl": "https://www.runoob.com/servlet/servlet-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.880068100" + }, + { + "id": "1e5a05bd-4209-4b98-a5f6-5e1e3d47a789", + "title": "【学习 JSP】 Java 服务端页面技术。", + "articleUrl": "https://www.runoob.com/jsp/jsp-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.880068100" + }, + { + "id": "b90ca1dc-f59e-48bc-a3cc-a938df532dbe", + "title": "【学习 ASP】 经典动态服务器页面技术。", + "articleUrl": "https://www.runoob.com/asp/asp-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.880068100" + }, + { + "id": "5df0256c-2727-41d9-a0a9-d268d23a4449", + "title": "【学习 AppML】 轻量级 Web 应用框架。", + "articleUrl": "https://www.runoob.com/appml/appml-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.880068100" + }, + { + "id": "335cf3f9-0a5a-4961-b3e4-44cee7712fa8", + "title": "【学习 VBScript】 微软经典脚本语言。", + "articleUrl": "https://www.runoob.com/vbscript/vbscript-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.880068100" + }, + { + "id": "9f34f967-330a-40c3-abfd-d321d07749e9", + "title": "【学习 Swagger】 API 文档与测试工具。", + "articleUrl": "https://www.runoob.com/swagger/swagger-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.880068100" + }, + { + "id": "ca4c035d-f707-4376-b963-7d95e6f451c6", + "title": "【学习 RESTful API】 现代 API 设计规范。", + "articleUrl": "https://www.runoob.com/restfulapi/restful-api-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.880068100" + }, + { + "id": "c694c436-da0e-4deb-a33b-952c229656e3", + "title": "【学习 Docker】 容器化应用部署平台。", + "articleUrl": "https://www.runoob.com/docker/docker-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.880068100" + }, + { + "id": "99aaf332-7126-4e90-b8bf-c035122de274", + "title": "【学习 Linux】 主流服务器操作系统。", + "articleUrl": "https://www.runoob.com/linux/linux-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.880068100" + }, + { + "id": "59598836-2f9c-463c-b454-47c6355d8155", + "title": "【学习 ZooKeeper】 分布式协调服务。", + "articleUrl": "https://www.runoob.com/w3cnote/zookeeper-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.880068100" + }, + { + "id": "8ab2aba0-8ea6-4089-b2b4-014e76208e6b", + "title": "【学习 SQL】 结构化查询语言。", + "articleUrl": "https://www.runoob.com/sql/sql-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.880068100" + }, + { + "id": "1faf0fc6-bc61-4fc9-9e94-2301e9319ccd", + "title": "【学习 MySQL】 流行关系型数据库。", + "articleUrl": "https://www.runoob.com/mysql/mysql-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.880068100" + }, + { + "id": "341dd1ef-06a3-45d7-8ff1-569b047d971e", + "title": "【学习 PostgreSQL】 高级开源关系型数据库。", + "articleUrl": "https://www.runoob.com/postgresql/postgresql-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.880068100" + }, + { + "id": "d28d517f-f0b5-4b15-873d-75e4eb5f0e79", + "title": "【学习 SQLite】 轻量级嵌入式数据库。", + "articleUrl": "https://www.runoob.com/sqlite/sqlite-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.880068100" + }, + { + "id": "f9ed2dc7-b244-4001-b729-33a275ad8779", + "title": "【学习 MongoDB】 主流 NoSQL 数据库。", + "articleUrl": "https://www.runoob.com/mongodb/mongodb-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.880068100" + }, + { + "id": "2f4e6ba3-f294-4768-94ad-015e30b4f6d4", + "title": "【学习 Redis】 高性能内存数据库。", + "articleUrl": "https://www.runoob.com/redis/redis-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.880068100" + }, + { + "id": "133e239b-94e5-4df1-8776-ae86e1437ba8", + "title": "【学习 Memcached】 分布式缓存系统。", + "articleUrl": "https://www.runoob.com/Memcached/Memcached-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.880068100" + }, + { + "id": "9baed5b3-f174-4a3e-95ae-957bd3cee359", + "title": "【学习 Android】 Android 移动开发平台。", + "articleUrl": "https://www.runoob.com/w3cnote/android-tutorial-intro.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.880068100" + }, + { + "id": "f32f6c69-3ac6-40c0-b7cb-22252de785c9", + "title": "【学习 Flutter】 Google 跨平台 UI 框架。", + "articleUrl": "https://www.runoob.com/flutter/flutter-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.880068100" + }, + { + "id": "40cdc69b-38f1-4457-a8fe-378c80b81c3c", + "title": "【学习 Ionic】 HTML5 混合移动开发框架。", + "articleUrl": "https://www.runoob.com/ionic/ionic-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.880068100" + }, + { + "id": "6d5f9940-a438-4b2e-aa1d-ca6ca0959b0d", + "title": "【学习 jQuery Mobile】 移动端 Web UI 框架。", + "articleUrl": "https://www.runoob.com/jquerymobile/jquerymobile-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.880068100" + }, + { + "id": "e167e5d9-3af8-4fb9-a16a-992c38c02afb", + "title": "【学习 Swift】 Apple 官方开发语言。", + "articleUrl": "https://www.runoob.com/swift/swift-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.880068100" + }, + { + "id": "5bbae8af-8b28-4bf3-ae2c-0e7b1c4f3f72", + "title": "【学习 Kotlin】 Android 官方开发语言。", + "articleUrl": "https://www.runoob.com/kotlin/kotlin-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.881975300" + }, + { + "id": "67befeaf-9b77-42c4-8fc1-c318bc114a0c", + "title": "【学习 Git】 分布式版本控制系统。", + "articleUrl": "https://www.runoob.com/git/git-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.881975300" + }, + { + "id": "26bfd611-84bb-4d15-b876-ba11de2b18a4", + "title": "【学习 SVN】 集中式版本控制系统。", + "articleUrl": "https://www.runoob.com/svn/svn-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.881975300" + }, + { + "id": "6df6b09a-d408-4904-98eb-35a2b053ac03", + "title": "【学习 CMake】 跨平台构建工具。", + "articleUrl": "https://www.runoob.com/cmake/cmake-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.881975300" + }, + { + "id": "d33c752b-1f1b-426f-b0b9-116787a28e56", + "title": "【学习 Maven】 Java 项目构建工具。", + "articleUrl": "https://www.runoob.com/maven/maven-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.882590700" + }, + { + "id": "ac355a57-3d02-49ab-b189-e31898f9348b", + "title": "【学习 VS Code】 现代代码编辑器。", + "articleUrl": "https://www.runoob.com/vscode/vscode-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.882590700" + }, + { + "id": "4d406f1d-862d-4b2d-b971-673cc2f6a19e", + "title": "【学习 Obsidian】 现代化笔记应用。", + "articleUrl": "https://www.runoob.com/obsidian/obsidian-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.882590700" + }, + { + "id": "0334c0b5-7106-4460-95f4-7f8de5d655b5", + "title": "【学习 PyCharm】 Python 专业 IDE。", + "articleUrl": "https://www.runoob.com/pycharm/pycharm-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.882590700" + }, + { + "id": "92e7af62-3b6e-4cf4-b8dd-259f717a6262", + "title": "【学习 Eclipse】 经典 Java IDE。", + "articleUrl": "https://www.runoob.com/eclipse/eclipse-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.882590700" + }, + { + "id": "7a3c8539-d664-4b60-a76c-58d001411890", + "title": "【学习 Markdown】 轻量级标记语言。", + "articleUrl": "https://www.runoob.com/markdown/md-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.882590700" + }, + { + "id": "5ad7a5c3-4e7f-4bb2-b617-3c5cd5285096", + "title": "【学习 C】 经典系统级编程语言。", + "articleUrl": "https://www.runoob.com/c/c-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.882590700" + }, + { + "id": "732ff59f-e4d5-438e-878d-77246cde6858", + "title": "【学习 C++】 高性能通用编程语言。", + "articleUrl": "https://www.runoob.com/cplusplus/cpp-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.882590700" + }, + { + "id": "3f040c77-ed33-4774-be93-7e9fcc386c26", + "title": "【学习 Zig】 现代系统级编程语言。", + "articleUrl": "https://www.runoob.com/zig/zig-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.882590700" + }, + { + "id": "2832d091-84f3-44d6-b780-9cd694b5d0ea", + "title": "【学习 Scala】 运行于 JVM 的多范式语言。", + "articleUrl": "https://www.runoob.com/scala/scala-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.882590700" + }, + { + "id": "eb96ee56-f051-47d3-9f83-f3b0790fa1fa", + "title": "【学习 Ruby】 优雅简洁的脚本语言。", + "articleUrl": "https://www.runoob.com/ruby/ruby-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.882590700" + }, + { + "id": "56f2ea54-7131-46eb-97ac-642455ef0e3c", + "title": "【学习 Perl】 经典文本处理语言。", + "articleUrl": "https://www.runoob.com/perl/perl-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.882590700" + }, + { + "id": "8dc1130c-06f1-4c20-b5cf-6ec7ae7728ae", + "title": "【学习 Lua】 轻量级嵌入式脚本语言。", + "articleUrl": "https://www.runoob.com/lua/lua-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.882590700" + }, + { + "id": "9ea8ddf9-98d1-4d5f-994f-baa88227f53b", + "title": "【学习汇编语言】 面向硬件的低级语言。", + "articleUrl": "https://www.runoob.com/assembly/assembly-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.882590700" + }, + { + "id": "1288a763-940a-40f2-927c-d56c39ccb9ae", + "title": "【学习 Verilog】 数字电路硬件描述语言。", + "articleUrl": "https://www.runoob.com/w3cnote/verilog-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.883593400" + }, + { + "id": "6c562554-97ed-4d6c-94d7-78b67b949b4c", + "title": "【数据结构与算法】 计算机核心基础知识。", + "articleUrl": "https://www.runoob.com/data-structures/data-structures-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.883593400" + }, + { + "id": "a40d5507-89be-44ea-8da3-f4b94dac958e", + "title": "【设计模式】 经典软件设计思想。", + "articleUrl": "https://www.runoob.com/design-pattern/design-pattern-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.883593400" + }, + { + "id": "9bb71bfd-0e32-4bee-9570-2687fcad4502", + "title": "【Python 设计模式】 Python 面向对象设计实践。", + "articleUrl": "https://www.runoob.com/python-design-pattern/python-design-pattern-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.883593400" + }, + { + "id": "0e525907-1d7a-496e-be30-23075191dbcb", + "title": "【正则表达式】 字符串匹配与文本处理。", + "articleUrl": "https://www.runoob.com/regexp/regexp-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.883593400" + }, + { + "id": "7d4e7c6f-4aba-4357-9e4e-a438ae135f1c", + "title": "【学习 HTTP】 Web 通信协议。", + "articleUrl": "https://www.runoob.com/http/http-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.883593400" + }, + { + "id": "091becd4-7246-4a47-8085-b5c03ae05ed1", + "title": "【学习 TCP/IP】 互联网通信协议族。", + "articleUrl": "https://www.runoob.com/tcpip/tcpip-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.883593400" + }, + { + "id": "b4d1bcb2-bb37-465f-807f-9bc012b7590c", + "title": "【网络协议】 计算机网络通信规则。", + "articleUrl": "https://www.runoob.com/np/np-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.883593400" + }, + { + "id": "afc7157d-d60e-43e9-9393-cc92e0b36d20", + "title": "【学习 W3C】 Web 标准组织。", + "articleUrl": "https://www.runoob.com/w3c/w3c-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.883593400" + }, + { + "id": "329a5372-1e2b-4c63-a0dc-8c4a789db52b", + "title": "【学习 XML】 数据交换与存储格式。", + "articleUrl": "https://www.runoob.com/xml/xml-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.883593400" + }, + { + "id": "5cbf4b8e-fcf0-41f4-91b4-8d7fdf0ed256", + "title": "【学习 DTD】 XML 文档类型定义。", + "articleUrl": "https://www.runoob.com/dtd/dtd-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.883593400" + }, + { + "id": "4266b9fd-6925-49e2-98f8-532fa007e308", + "title": "【学习 XML DOM】 XML 文档操作标准。", + "articleUrl": "https://www.runoob.com/dom/dom-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.884592600" + }, + { + "id": "28a56ff5-b57b-4794-a6ec-447f914a202f", + "title": "【学习 XSLT】 XML 转换语言。", + "articleUrl": "https://www.runoob.com/xsl/xsl-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.884592600" + }, + { + "id": "4b443832-0188-4e71-b129-eb81fe859441", + "title": "【学习 XPath】 XML 节点查询语言。", + "articleUrl": "https://www.runoob.com/xpath/xpath-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.884592600" + }, + { + "id": "b9fdc6f1-2b6c-4694-8ab8-ac9109dc145d", + "title": "【学习 XQuery】 XML 查询语言。", + "articleUrl": "https://www.runoob.com/xquery/xquery-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.884592600" + }, + { + "id": "2782383e-d17d-4b7c-9c8e-ec0db37b4d7f", + "title": "【学习 XLink】 XML 超链接标准。", + "articleUrl": "https://www.runoob.com/xlink/xlink-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.884592600" + }, + { + "id": "3048c3bc-9b30-4c30-822b-552add5b7973", + "title": "【学习 XPointer】 XML 数据定位语言。", + "articleUrl": "https://www.runoob.com/xlink/xlink-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.884592600" + }, + { + "id": "bc132813-bcc6-4aaa-8ffe-87c26a869f2e", + "title": "【学习 XML Schema】 XML 文档结构定义。", + "articleUrl": "https://www.runoob.com/schema/schema-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.884592600" + }, + { + "id": "abb5bc88-73b8-43b0-9c0a-3679a15a4541", + "title": "【学习 XSL-FO】 XML 格式化对象语言。", + "articleUrl": "https://www.runoob.com/xslfo/xslfo-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.884592600" + }, + { + "id": "3928de99-f5c1-46c0-97e4-bfaef729d860", + "title": "【学习 Web Service】 基于网络的服务接口技术。", + "articleUrl": "https://www.runoob.com/webservices/webservices-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.884592600" + }, + { + "id": "6d388785-2bd7-4ad4-8aa8-6bb86f1e978a", + "title": "【学习 WSDL】 Web Service 描述语言。", + "articleUrl": "https://www.runoob.com/wsdl/wsdl-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.884592600" + }, + { + "id": "99376671-bb55-4138-b305-0bfb122971c3", + "title": "【学习 SOAP】 基于 XML 的通信协议。", + "articleUrl": "https://www.runoob.com/soap/soap-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.884592600" + }, + { + "id": "47ef8239-96b3-44a1-9585-ad58923cbc3c", + "title": "【学习 RSS】 内容聚合订阅协议。", + "articleUrl": "https://www.runoob.com/rss/rss-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.884592600" + }, + { + "id": "d62fc883-769f-466e-a33a-708d20d0eda5", + "title": "【学习 RDF】 资源描述框架。", + "articleUrl": "https://www.runoob.com/rdf/rdf-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.884592600" + }, + { + "id": "4f4e5093-9de7-48b9-88a7-8344955bcad2", + "title": "【学习 ASP.NET】 .NET Web 开发框架。", + "articleUrl": "https://www.runoob.com/aspnet/aspnet-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.884592600" + }, + { + "id": "9369a325-5e80-48f7-aa38-d95e977a9477", + "title": "【学习 MVC】 MVC 架构模式。", + "articleUrl": "https://www.runoob.com/aspnet/mvc-intro.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.884592600" + }, + { + "id": "22b31545-31d9-41c7-8e10-6a94dcd32a92", + "title": "【学习 Razor】 .NET 模板引擎。", + "articleUrl": "https://www.runoob.com/aspnet/razor-intro.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.885594" + }, + { + "id": "42e6404c-98a4-4caa-8edd-c8026988ea9b", + "title": "【学习 Web Forms】 经典 ASP.NET 开发模式。", + "articleUrl": "https://www.runoob.com/aspnet/aspnet-intro.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.885594" + }, + { + "id": "300df040-e12b-4094-bee4-4e909dc7320f", + "title": "【学习 Web Pages】 ASP.NET Web Pages 开发模式。", + "articleUrl": "https://www.runoob.com/aspnet/webpages-intro.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.885594" + }, + { + "id": "da171e34-d4c8-426c-bad7-eb00e3ee255b", + "title": "【学习 PowerShell】 微软自动化脚本环境。", + "articleUrl": "https://www.runoob.com/powershell/powershell-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.885594" + }, + { + "id": "9effb645-7c3e-4590-8f98-5ab838e9f8fd", + "title": "【网站建设指南】 网站开发与建设基础教程。", + "articleUrl": "https://www.runoob.com/web/web-buildingprimer.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.886107500" + }, + { + "id": "1cf77bd6-8c74-4fd6-9000-461c45815dbe", + "title": "【浏览器信息】 浏览器市场与兼容性信息。", + "articleUrl": "https://www.runoob.com/browsers/browser-information.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.886107500" + }, + { + "id": "50d7d6ee-4c10-44f3-a2cf-31f8ce796156", + "title": "【网站主机教程】 网站部署与服务器托管。", + "articleUrl": "https://www.runoob.com/hosting/hosting-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.886107500" + }, + { + "id": "834f2301-d018-4a65-bf3a-15011131578d", + "title": "【网站品质】 构建高质量网站。", + "articleUrl": "https://www.runoob.com/quality/quality-tutorial.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.886107500" + }, + { + "id": "3471fe50-ffda-4cb2-a7d2-0e55904dbf2f", + "title": "HTML 实例", + "articleUrl": "/html/html-examples.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.887135800" + }, + { + "id": "68c4b075-f7da-48e7-ab12-632ff7f331d7", + "title": "CSS 实例", + "articleUrl": "/css/css-examples.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.887135800" + }, + { + "id": "94bf3438-af14-468e-9ae9-bcb028f21b1c", + "title": "JavaScript 实例", + "articleUrl": "/js/js-examples.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.887135800" + }, + { + "id": "76f4fa10-aad4-4e54-a741-a405ce2bc350", + "title": "Ajax 实例", + "articleUrl": "/ajx/ajax-examples.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.887135800" + }, + { + "id": "6f5c01b3-4383-438f-9c8e-2d3ecc74e0ab", + "title": "jQuery 实例", + "articleUrl": "/jquery/jquery-examples.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.887135800" + }, + { + "id": "768503da-b3f7-4848-b827-30a125879762", + "title": "XML 实例", + "articleUrl": "/xml/xml-examples.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.887135800" + }, + { + "id": "cf919efe-f75b-45ed-bdaf-ff62b20d97aa", + "title": "Java 实例", + "articleUrl": "/java/java-examples.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.887135800" + }, + { + "id": "610702be-06ec-452e-9e95-6b98f634f323", + "title": "HTML 字符集设置", + "articleUrl": "/charsets/html-charsets.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.887135800" + }, + { + "id": "d85e019c-a2a2-4fa9-a53a-cadd78747037", + "title": "HTML ASCII 字符集", + "articleUrl": "/tags/html-ascii.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.887135800" + }, + { + "id": "68b3d874-c529-4d5c-abb0-ab7dced8d2cb", + "title": "JS 混淆/加密", + "articleUrl": "https://www.jyshare.com/front-end/6939/", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.887135800" + }, + { + "id": "fc2ce452-a136-443a-8ebe-94eea6cb5ff4", + "title": "PNG/JPEG 图片压缩", + "articleUrl": "https://www.jyshare.com/front-end/6232/", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.887135800" + }, + { + "id": "d9e14f81-e6a9-4964-abfc-257e8fef4445", + "title": "HTML 拾色器", + "articleUrl": "/tags/html-colorpicker.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.887135800" + }, + { + "id": "04ee137d-4354-4b4e-b132-8e8cac3a1fa3", + "title": "JSON 格式化工具", + "articleUrl": "https://www.jyshare.com/front-end/53", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.887135800" + }, + { + "id": "998597f0-bbdc-4648-8ecb-69506669db3a", + "title": "随机数生成器", + "articleUrl": "https://www.jyshare.com/front-end/6680/", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.887135800" + }, + { + "id": "abef92f5-2231-4bb5-a14f-24816778a837", + "title": "搭子(DuMate)...", + "articleUrl": "http://www.runoob.com/ai-agent/dumate-usages.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.887135800" + }, + { + "id": "4be2ee9e-62f8-4e7b-a7a8-0ae80a56755f", + "title": "QoderWake 入门教程", + "articleUrl": "http://www.runoob.com/ai-agent/qoderwake-usage.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.887135800" + }, + { + "id": "3b4765af-aa21-4942-861f-98d00fd83a5b", + "title": "Obsidian 同步、...", + "articleUrl": "http://www.runoob.com/obsidian/obsidian-sync-backup-tips.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.887135800" + }, + { + "id": "a797c813-48a8-4173-b5cd-a7fd6183ab1e", + "title": "Obsidian 工作流...", + "articleUrl": "http://www.runoob.com/obsidian/obsidian-workflows.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.887135800" + }, + { + "id": "cd8650d9-5b3c-4e21-98a7-8ac66d90ba04", + "title": "Obsidian 插件", + "articleUrl": "http://www.runoob.com/obsidian/obsidian-core-plugins.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.887135800" + }, + { + "id": "095764b0-5af5-4961-9c9f-4ae0efa72029", + "title": "Obsidian 文件组...", + "articleUrl": "http://www.runoob.com/obsidian/obsidian-file-organization.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.887135800" + }, + { + "id": "042ca1e2-491c-403b-bf92-9620a4ff8eb2", + "title": "Obsidian 双链与...", + "articleUrl": "http://www.runoob.com/obsidian/obsidian-bilinks-graph.html", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.887135800" + }, + { + "id": "b9d5b6d2-2f29-4b74-8a77-da0787dfe09e", + "title": "runoob.com", + "articleUrl": "//www.runoob.com/", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.887135800" + }, + { + "id": "a3cbb44a-9b2b-419e-8b25-b0096c5b751b", + "title": "闽ICP备15012807号-1", + "articleUrl": "https://beian.miit.gov.cn/", + "source": "菜鸟教程资讯", + "crawledAt": "2026-05-29T22:41:00.887135800" + } +] \ No newline at end of file diff --git a/project/资讯爬虫/logs/crawler-2026-05-29.log b/project/资讯爬虫/logs/crawler-2026-05-29.log new file mode 100644 index 0000000..c3331d1 --- /dev/null +++ b/project/资讯爬虫/logs/crawler-2026-05-29.log @@ -0,0 +1,1986 @@ +2026-05-29 18:10:51 [main] INFO com.newscrawler.Main - ========== 增强版Java资讯爬虫启动 ========== +2026-05-29 18:13:28 [com.newscrawler.Main.main()] INFO com.newscrawler.Main - ========== 增强版Java资讯爬虫启动 ========== +2026-05-29 18:14:53 [main] INFO com.newscrawler.Main - ========== 增强版Java资讯爬虫启动 ========== +2026-05-29 18:15:01 [main] INFO c.newscrawler.service.CrawlerService - 开始爬取单个站点: runoob +2026-05-29 18:15:01 [main] INFO c.newscrawler.service.CrawlerService - 开始爬取: 菜鸟教程资讯 - https://www.runoob.com/news/ +2026-05-29 18:15:01 [main] INFO c.n.strategy.AbstractBaseStrategy - 开始爬取站点: 菜鸟教程资讯 +2026-05-29 18:15:01 [main] DEBUG c.n.strategy.AbstractBaseStrategy - 第1次尝试获取页面: https://www.runoob.com/news/ +2026-05-29 18:15:02 [main] WARN c.n.strategy.AbstractBaseStrategy - 第1次尝试失败: HTTP error fetching URL. Status=404, URL=[https://www.runoob.com/news/] +2026-05-29 18:15:03 [main] DEBUG c.n.strategy.AbstractBaseStrategy - 第2次尝试获取页面: https://www.runoob.com/news/ +2026-05-29 18:15:05 [main] WARN c.n.strategy.AbstractBaseStrategy - 第2次尝试失败: HTTP error fetching URL. Status=404, URL=[https://www.runoob.com/news/] +2026-05-29 18:15:07 [main] DEBUG c.n.strategy.AbstractBaseStrategy - 第3次尝试获取页面: https://www.runoob.com/news/ +2026-05-29 18:15:07 [main] WARN c.n.strategy.AbstractBaseStrategy - 第3次尝试失败: HTTP error fetching URL. Status=404, URL=[https://www.runoob.com/news/] +2026-05-29 18:15:07 [main] ERROR c.n.strategy.AbstractBaseStrategy - 网络请求最终失败: 网络请求失败,已重试3次 +2026-05-29 18:15:07 [main] ERROR c.newscrawler.service.CrawlerService - 爬取菜鸟教程资讯失败: 获取页面失败 +2026-05-29 18:15:07 [main] ERROR com.newscrawler.command.MenuCommand - 菜单操作异常 +com.newscrawler.exception.ParseException: 获取页面失败 + at com.newscrawler.strategy.AbstractBaseStrategy.fetchWithRetry(AbstractBaseStrategy.java:60) + at com.newscrawler.strategy.AbstractBaseStrategy.crawl(AbstractBaseStrategy.java:24) + at com.newscrawler.service.CrawlerService.executeCrawl(CrawlerService.java:60) + at com.newscrawler.service.CrawlerService.crawlSingleSite(CrawlerService.java:32) + at com.newscrawler.command.MenuCommand.crawlSite(MenuCommand.java:106) + at com.newscrawler.command.MenuCommand.handleMainMenu(MenuCommand.java:57) + at com.newscrawler.command.MenuCommand.start(MenuCommand.java:30) + at com.newscrawler.Main.main(Main.java:17) +Caused by: com.newscrawler.exception.NetworkException: 网络请求失败,已重试3次 + at com.newscrawler.strategy.AbstractBaseStrategy.fetchWithRetry(AbstractBaseStrategy.java:58) + ... 7 common frames omitted +Caused by: org.jsoup.HttpStatusException: HTTP error fetching URL. Status=404, URL=[https://www.runoob.com/news/] + at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:879) + at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:818) + at org.jsoup.helper.HttpConnection.execute(HttpConnection.java:346) + at org.jsoup.helper.HttpConnection.get(HttpConnection.java:331) + at com.newscrawler.strategy.AbstractBaseStrategy.fetchWithRetry(AbstractBaseStrategy.java:42) + ... 7 common frames omitted +2026-05-29 18:16:30 [main] INFO c.newscrawler.service.CrawlerService - 开始爬取单个站点: runoob +2026-05-29 18:16:30 [main] INFO c.newscrawler.service.CrawlerService - 开始爬取: 菜鸟教程资讯 - https://www.runoob.com/news/ +2026-05-29 18:16:30 [main] INFO c.n.strategy.AbstractBaseStrategy - 开始爬取站点: 菜鸟教程资讯 +2026-05-29 18:16:30 [main] DEBUG c.n.strategy.AbstractBaseStrategy - 第1次尝试获取页面: https://www.runoob.com/news/ +2026-05-29 18:16:30 [main] WARN c.n.strategy.AbstractBaseStrategy - 第1次尝试失败: HTTP error fetching URL. Status=404, URL=[https://www.runoob.com/news/] +2026-05-29 18:16:32 [main] DEBUG c.n.strategy.AbstractBaseStrategy - 第2次尝试获取页面: https://www.runoob.com/news/ +2026-05-29 18:16:32 [main] WARN c.n.strategy.AbstractBaseStrategy - 第2次尝试失败: HTTP error fetching URL. Status=404, URL=[https://www.runoob.com/news/] +2026-05-29 18:16:34 [main] DEBUG c.n.strategy.AbstractBaseStrategy - 第3次尝试获取页面: https://www.runoob.com/news/ +2026-05-29 18:16:34 [main] WARN c.n.strategy.AbstractBaseStrategy - 第3次尝试失败: HTTP error fetching URL. Status=404, URL=[https://www.runoob.com/news/] +2026-05-29 18:16:34 [main] ERROR c.n.strategy.AbstractBaseStrategy - 网络请求最终失败: 网络请求失败,已重试3次 +2026-05-29 18:16:34 [main] ERROR c.newscrawler.service.CrawlerService - 爬取菜鸟教程资讯失败: 获取页面失败 +2026-05-29 18:16:34 [main] ERROR com.newscrawler.command.MenuCommand - 菜单操作异常 +com.newscrawler.exception.ParseException: 获取页面失败 + at com.newscrawler.strategy.AbstractBaseStrategy.fetchWithRetry(AbstractBaseStrategy.java:60) + at com.newscrawler.strategy.AbstractBaseStrategy.crawl(AbstractBaseStrategy.java:24) + at com.newscrawler.service.CrawlerService.executeCrawl(CrawlerService.java:60) + at com.newscrawler.service.CrawlerService.crawlSingleSite(CrawlerService.java:32) + at com.newscrawler.command.MenuCommand.crawlSite(MenuCommand.java:106) + at com.newscrawler.command.MenuCommand.handleMainMenu(MenuCommand.java:57) + at com.newscrawler.command.MenuCommand.start(MenuCommand.java:30) + at com.newscrawler.Main.main(Main.java:17) +Caused by: com.newscrawler.exception.NetworkException: 网络请求失败,已重试3次 + at com.newscrawler.strategy.AbstractBaseStrategy.fetchWithRetry(AbstractBaseStrategy.java:58) + ... 7 common frames omitted +Caused by: org.jsoup.HttpStatusException: HTTP error fetching URL. Status=404, URL=[https://www.runoob.com/news/] + at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:879) + at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:818) + at org.jsoup.helper.HttpConnection.execute(HttpConnection.java:346) + at org.jsoup.helper.HttpConnection.get(HttpConnection.java:331) + at com.newscrawler.strategy.AbstractBaseStrategy.fetchWithRetry(AbstractBaseStrategy.java:42) + ... 7 common frames omitted +2026-05-29 18:18:34 [com.newscrawler.Main.main()] INFO com.newscrawler.Main - ========== 增强版Java资讯爬虫启动 ========== +2026-05-29 18:19:12 [main] INFO com.newscrawler.Main - ========== 增强版Java资讯爬虫启动 ========== +2026-05-29 18:19:14 [main] INFO c.newscrawler.service.CrawlerService - 开始爬取单个站点: runoob +2026-05-29 18:19:14 [main] INFO c.newscrawler.service.CrawlerService - 开始爬取: 菜鸟教程资讯 - https://www.runoob.com/ +2026-05-29 18:19:14 [main] INFO c.n.strategy.AbstractBaseStrategy - 开始爬取站点: 菜鸟教程资讯 +2026-05-29 18:19:14 [main] DEBUG c.n.strategy.AbstractBaseStrategy - 第1次尝试获取页面: https://www.runoob.com/ +2026-05-29 18:19:15 [main] INFO c.n.strategy.AbstractBaseStrategy - 菜鸟教程解析到0条资讯 +2026-05-29 18:19:15 [main] INFO c.n.repository.ArticleRepository - 批量添加完成,成功添加0篇文章 +2026-05-29 18:19:15 [main] INFO c.newscrawler.service.CrawlerService - 爬取菜鸟教程资讯成功,获取0篇文章 +2026-05-29 18:20:03 [main] INFO com.newscrawler.Main - ========== 增强版Java资讯爬虫启动 ========== +2026-05-29 18:20:06 [main] INFO c.newscrawler.service.CrawlerService - 开始爬取单个站点: youth +2026-05-29 18:20:06 [main] INFO c.newscrawler.service.CrawlerService - 开始爬取: 中国青年网校园频道 - http://school.youth.cn/ +2026-05-29 18:20:06 [main] INFO c.n.strategy.AbstractBaseStrategy - 开始爬取站点: 中国青年网校园频道 +2026-05-29 18:20:06 [main] DEBUG c.n.strategy.AbstractBaseStrategy - 第1次尝试获取页面: http://school.youth.cn/ +2026-05-29 18:20:06 [main] WARN c.n.strategy.AbstractBaseStrategy - 第1次尝试失败: school.youth.cn +2026-05-29 18:20:07 [main] DEBUG c.n.strategy.AbstractBaseStrategy - 第2次尝试获取页面: http://school.youth.cn/ +2026-05-29 18:20:07 [main] WARN c.n.strategy.AbstractBaseStrategy - 第2次尝试失败: school.youth.cn +2026-05-29 18:20:09 [main] DEBUG c.n.strategy.AbstractBaseStrategy - 第3次尝试获取页面: http://school.youth.cn/ +2026-05-29 18:20:09 [main] WARN c.n.strategy.AbstractBaseStrategy - 第3次尝试失败: school.youth.cn +2026-05-29 18:20:09 [main] ERROR c.n.strategy.AbstractBaseStrategy - 网络请求最终失败: 网络请求失败,已重试3次 +2026-05-29 18:20:09 [main] ERROR c.newscrawler.service.CrawlerService - 爬取中国青年网校园频道失败: 获取页面失败 +2026-05-29 18:20:09 [main] ERROR com.newscrawler.command.MenuCommand - 菜单操作异常 +com.newscrawler.exception.ParseException: 获取页面失败 + at com.newscrawler.strategy.AbstractBaseStrategy.fetchWithRetry(AbstractBaseStrategy.java:60) + at com.newscrawler.strategy.AbstractBaseStrategy.crawl(AbstractBaseStrategy.java:24) + at com.newscrawler.service.CrawlerService.executeCrawl(CrawlerService.java:60) + at com.newscrawler.service.CrawlerService.crawlSingleSite(CrawlerService.java:32) + at com.newscrawler.command.MenuCommand.crawlSite(MenuCommand.java:106) + at com.newscrawler.command.MenuCommand.handleMainMenu(MenuCommand.java:60) + at com.newscrawler.command.MenuCommand.start(MenuCommand.java:30) + at com.newscrawler.Main.main(Main.java:17) +Caused by: com.newscrawler.exception.NetworkException: 网络请求失败,已重试3次 + at com.newscrawler.strategy.AbstractBaseStrategy.fetchWithRetry(AbstractBaseStrategy.java:58) + ... 7 common frames omitted +Caused by: java.net.UnknownHostException: school.youth.cn + at java.base/sun.nio.ch.NioSocketImpl.connect(Unknown Source) + at java.base/java.net.Socket.connect(Unknown Source) + at java.base/sun.net.NetworkClient.doConnect(Unknown Source) + at java.base/sun.net.www.http.HttpClient.openServer(Unknown Source) + at java.base/sun.net.www.http.HttpClient.openServer(Unknown Source) + at java.base/sun.net.www.http.HttpClient.(Unknown Source) + at java.base/sun.net.www.http.HttpClient.New(Unknown Source) + at java.base/sun.net.www.http.HttpClient.New(Unknown Source) + at java.base/sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(Unknown Source) + at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect0(Unknown Source) + at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source) + at java.base/sun.net.www.protocol.http.HttpURLConnection.connect(Unknown Source) + at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:848) + at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:818) + at org.jsoup.helper.HttpConnection.execute(HttpConnection.java:346) + at org.jsoup.helper.HttpConnection.get(HttpConnection.java:331) + at com.newscrawler.strategy.AbstractBaseStrategy.fetchWithRetry(AbstractBaseStrategy.java:42) + ... 7 common frames omitted +2026-05-29 18:20:39 [com.newscrawler.Main.main()] INFO com.newscrawler.Main - ========== 增强版Java资讯爬虫启动 ========== +2026-05-29 18:22:52 [com.newscrawler.Main.main()] INFO com.newscrawler.Main - ========== 增强版Java资讯爬虫启动 ========== +2026-05-29 18:23:17 [com.newscrawler.Main.main()] INFO com.newscrawler.Main - ========== 增强版Java资讯爬虫启动 ========== +2026-05-29 18:24:55 [com.newscrawler.Main.main()] INFO com.newscrawler.Main - ========== 增强版Java资讯爬虫启动 ========== +2026-05-29 18:25:29 [main] INFO com.newscrawler.Main - ========== 增强版Java资讯爬虫启动 ========== +2026-05-29 18:25:32 [main] INFO c.newscrawler.service.CrawlerService - 开始爬取单个站点: runoob +2026-05-29 18:25:32 [main] INFO c.newscrawler.service.CrawlerService - 开始爬取: 菜鸟教程资讯 - https://www.runoob.com/ +2026-05-29 18:25:32 [main] INFO c.n.strategy.AbstractBaseStrategy - 开始爬取站点: 菜鸟教程资讯 +2026-05-29 18:25:32 [main] DEBUG c.n.strategy.AbstractBaseStrategy - 第1次尝试获取页面: https://www.runoob.com/ +2026-05-29 18:25:33 [main] INFO c.n.strategy.AbstractBaseStrategy - 菜鸟教程解析到179条资讯 +2026-05-29 18:25:33 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 菜鸟教程 -- 学的不仅是技术,更是梦想! +2026-05-29 18:25:33 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: HTML 手册 +2026-05-29 18:25:33 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: Javascript +2026-05-29 18:25:33 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: CSS 1,2,3 +2026-05-29 18:25:33 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: Zepto 中文手册 +2026-05-29 18:25:33 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: Flat UI +2026-05-29 18:25:33 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: PostgreSQL 手册 +2026-05-29 18:25:33 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: HTML 测验 +2026-05-29 18:25:33 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: HTML5 测验 +2026-05-29 18:25:33 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: XHTML 测验 +2026-05-29 18:25:33 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: CSS 测验 +2026-05-29 18:25:33 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: jQuery 测验 +2026-05-29 18:25:33 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: XML 测验 +2026-05-29 18:25:33 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: ASP 测验 +2026-05-29 18:25:33 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: PHP 测验 +2026-05-29 18:25:33 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: SQL 测验 +2026-05-29 18:25:33 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: Python 测验 +2026-05-29 18:25:33 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Python】 Python3 是当前主流 Python 版本。 +2026-05-29 18:25:33 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Python2.x】 Python 经典版本。 +2026-05-29 18:25:33 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 FastAPI】 现代高性能 Python API 框架。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Flask】 轻量级 Python Web 应用框架。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Django】 全功能 Python Web 开发框架。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 NumPy】 Python 科学计算核心库。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Pandas】 Python 数据分析核心库。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 SciPy】 Python 数学与科学计算工具包。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Matplotlib】 Python 数据可视化绘图库。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Dash】 Python 数据分析与可视化 Web 框架。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Jupyter Notebook】 交互式数据分析与计算工具。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Pillow】 Python 图像处理库。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【量化交易】 利用程序化策略进行金融交易。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 R】 用于统计分析与数据科学的编程语言。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Julia】 面向科学计算的高性能语言。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【AI Agent(智能体)】 AI Agent 让模型不只回答问题,而是按步骤完成动作。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【Skills(技能)】 Skills 让智能体具备特定能力与工作流。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【Codex 教程】 OpenAI 推出的 AI 编程协作工具。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【Claude Code】 Anthropic 推出的 AI 编程协作工具。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【OpenCode】 开源 AI 编程协作工具。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Ollama】 开源本地大语言模型运行框架。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 TensorFlow】 TensorFlow 是一个开源机器学习框架。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 PyTorch】 PyTorch 是一个开源机器学习框架。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Scikit-learn】 Scikit-learn 是一个开源机器学习库。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【机器学习】 机器学习是让机器通过数据进行预测与决策。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【LangChain】 用于构建基于大语言模型的应用程序的框架。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【自然语言处理 NLP】 自然语言处理是人工智能与语言学的交叉领域。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 OpenCV】 开源计算机视觉与机器学习软件库。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Selenium】 自动化 Web 浏览器操作工具。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Playwright】 现代 Web 自动化与端到端测试框架。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 HTML】 HTML 是网页的标准标记语言。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 HTML5】 下一代 HTML 标准。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 CSS】 网页样式与布局语言。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 CSS3】 CSS3 是 CSS 技术升级版本。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 JavaScript】 Web 核心编程语言。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 HTML DOM】 HTML DOM 定义了访问和操作 HTML 文档的标准方法。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 TypeScript】 JavaScript 的超集语言。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 AJAX】 异步 Web 数据交互技术。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 JSON】 数据交换标准格式。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Tailwind CSS】 实用优先 CSS 框架。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Bootstrap4】 经典响应式前端框架。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Bootstrap5】 最新 Bootstrap 前端框架。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Foundation】 响应式 HTML、CSS 与 JavaScript 框架。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Vue.js】 渐进式前端框架。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Vue3】 新一代 Vue 前端框架。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 React】 用于构建 UI 的 JavaScript 库。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Next.js】 基于 React 的全栈框架。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 AngularJS】 Google 推出的经典前端框架。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Angular】 现代 Angular 前端框架。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 jQuery】 经典 JavaScript 工具库。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 jQuery UI】 基于 jQuery 的 UI 组件库。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 jQuery EasyUI】 基于 jQuery 的 UI 框架。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 ECharts】 开源数据可视化图表库。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Chart.js】 轻量级 JavaScript 图表库。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Highcharts】 高级交互式图表库。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Google 地图】 Google Maps API 使用教程。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 SVG】 基于 XML 的矢量图格式。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Font Awesome】 流行图标字体库。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Node.js】 服务端 JavaScript 运行环境。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Electron】 基于 Web 技术开发跨平台桌面应用。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 PHP】 经典 Web 服务端语言。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Java】 企业级开发主流语言。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Go】 Google 推出的现代服务端语言。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Rust】 高性能系统级编程语言。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 C#】 .NET 核心开发语言。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Servlet】 Java Web 服务端技术。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 JSP】 Java 服务端页面技术。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 ASP】 经典动态服务器页面技术。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 AppML】 轻量级 Web 应用框架。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 VBScript】 微软经典脚本语言。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Swagger】 API 文档与测试工具。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 RESTful API】 现代 API 设计规范。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Docker】 容器化应用部署平台。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Linux】 主流服务器操作系统。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 ZooKeeper】 分布式协调服务。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 SQL】 结构化查询语言。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 MySQL】 流行关系型数据库。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 PostgreSQL】 高级开源关系型数据库。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 SQLite】 轻量级嵌入式数据库。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 MongoDB】 主流 NoSQL 数据库。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Redis】 高性能内存数据库。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Memcached】 分布式缓存系统。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Android】 Android 移动开发平台。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Flutter】 Google 跨平台 UI 框架。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Ionic】 HTML5 混合移动开发框架。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 jQuery Mobile】 移动端 Web UI 框架。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Swift】 Apple 官方开发语言。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Kotlin】 Android 官方开发语言。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Git】 分布式版本控制系统。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 SVN】 集中式版本控制系统。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 CMake】 跨平台构建工具。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Maven】 Java 项目构建工具。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 VS Code】 现代代码编辑器。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Obsidian】 现代化笔记应用。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 PyCharm】 Python 专业 IDE。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Eclipse】 经典 Java IDE。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Markdown】 轻量级标记语言。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 C】 经典系统级编程语言。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 C++】 高性能通用编程语言。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Zig】 现代系统级编程语言。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Scala】 运行于 JVM 的多范式语言。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Ruby】 优雅简洁的脚本语言。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Perl】 经典文本处理语言。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Lua】 轻量级嵌入式脚本语言。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习汇编语言】 面向硬件的低级语言。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Verilog】 数字电路硬件描述语言。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【数据结构与算法】 计算机核心基础知识。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【设计模式】 经典软件设计思想。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【Python 设计模式】 Python 面向对象设计实践。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【正则表达式】 字符串匹配与文本处理。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 HTTP】 Web 通信协议。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 TCP/IP】 互联网通信协议族。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【网络协议】 计算机网络通信规则。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 W3C】 Web 标准组织。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 XML】 数据交换与存储格式。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 DTD】 XML 文档类型定义。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 XML DOM】 XML 文档操作标准。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 XSLT】 XML 转换语言。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 XPath】 XML 节点查询语言。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 XQuery】 XML 查询语言。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 XLink】 XML 超链接标准。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 XPointer】 XML 数据定位语言。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 XML Schema】 XML 文档结构定义。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 XSL-FO】 XML 格式化对象语言。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Web Service】 基于网络的服务接口技术。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 WSDL】 Web Service 描述语言。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 SOAP】 基于 XML 的通信协议。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 RSS】 内容聚合订阅协议。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 RDF】 资源描述框架。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 ASP.NET】 .NET Web 开发框架。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 MVC】 MVC 架构模式。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Razor】 .NET 模板引擎。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Web Forms】 经典 ASP.NET 开发模式。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Web Pages】 ASP.NET Web Pages 开发模式。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 PowerShell】 微软自动化脚本环境。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【网站建设指南】 网站开发与建设基础教程。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【浏览器信息】 浏览器市场与兼容性信息。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【网站主机教程】 网站部署与服务器托管。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【网站品质】 构建高质量网站。 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: HTML 实例 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: CSS 实例 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: JavaScript 实例 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: Ajax 实例 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: jQuery 实例 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: XML 实例 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: Java 实例 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: HTML 字符集设置 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: HTML ASCII 字符集 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: JS 混淆/加密 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: PNG/JPEG 图片压缩 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: HTML 拾色器 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: JSON 格式化工具 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 随机数生成器 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 搭子(DuMate)... +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: QoderWake 入门教程 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: Obsidian 同步、... +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: Obsidian 工作流... +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: Obsidian 插件 +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: Obsidian 文件组... +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: Obsidian 双链与... +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: runoob.com +2026-05-29 18:25:34 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 闽ICP备15012807号-1 +2026-05-29 18:25:34 [main] INFO c.n.repository.ArticleRepository - 批量添加完成,成功添加179篇文章 +2026-05-29 18:25:34 [main] INFO c.newscrawler.service.CrawlerService - 爬取菜鸟教程资讯成功,获取179篇文章 +2026-05-29 18:25:53 [main] INFO c.newscrawler.service.CrawlerService - 开始爬取单个站点: youth +2026-05-29 18:25:53 [main] INFO c.newscrawler.service.CrawlerService - 开始爬取: 中国青年网校园频道 - http://school.youth.cn/ +2026-05-29 18:25:53 [main] INFO c.n.strategy.AbstractBaseStrategy - 开始爬取站点: 中国青年网校园频道 +2026-05-29 18:25:53 [main] DEBUG c.n.strategy.AbstractBaseStrategy - 第1次尝试获取页面: http://school.youth.cn/ +2026-05-29 18:25:53 [main] WARN c.n.strategy.AbstractBaseStrategy - 第1次尝试失败: school.youth.cn +2026-05-29 18:25:54 [main] DEBUG c.n.strategy.AbstractBaseStrategy - 第2次尝试获取页面: http://school.youth.cn/ +2026-05-29 18:25:54 [main] WARN c.n.strategy.AbstractBaseStrategy - 第2次尝试失败: school.youth.cn +2026-05-29 18:25:56 [main] DEBUG c.n.strategy.AbstractBaseStrategy - 第3次尝试获取页面: http://school.youth.cn/ +2026-05-29 18:25:56 [main] WARN c.n.strategy.AbstractBaseStrategy - 第3次尝试失败: school.youth.cn +2026-05-29 18:25:56 [main] ERROR c.n.strategy.AbstractBaseStrategy - 网络请求最终失败: 网络请求失败,已重试3次 +2026-05-29 18:25:56 [main] ERROR c.newscrawler.service.CrawlerService - 爬取中国青年网校园频道失败: 获取页面失败 +2026-05-29 18:25:56 [main] ERROR com.newscrawler.command.MenuCommand - 菜单操作异常 +com.newscrawler.exception.ParseException: 获取页面失败 + at com.newscrawler.strategy.AbstractBaseStrategy.fetchWithRetry(AbstractBaseStrategy.java:60) + at com.newscrawler.strategy.AbstractBaseStrategy.crawl(AbstractBaseStrategy.java:24) + at com.newscrawler.service.CrawlerService.executeCrawl(CrawlerService.java:60) + at com.newscrawler.service.CrawlerService.crawlSingleSite(CrawlerService.java:32) + at com.newscrawler.command.MenuCommand.crawlSite(MenuCommand.java:106) + at com.newscrawler.command.MenuCommand.handleMainMenu(MenuCommand.java:60) + at com.newscrawler.command.MenuCommand.start(MenuCommand.java:30) + at com.newscrawler.Main.main(Main.java:17) +Caused by: com.newscrawler.exception.NetworkException: 网络请求失败,已重试3次 + at com.newscrawler.strategy.AbstractBaseStrategy.fetchWithRetry(AbstractBaseStrategy.java:58) + ... 7 common frames omitted +Caused by: java.net.UnknownHostException: school.youth.cn + at java.base/sun.nio.ch.NioSocketImpl.connect(Unknown Source) + at java.base/java.net.Socket.connect(Unknown Source) + at java.base/sun.net.NetworkClient.doConnect(Unknown Source) + at java.base/sun.net.www.http.HttpClient.openServer(Unknown Source) + at java.base/sun.net.www.http.HttpClient.openServer(Unknown Source) + at java.base/sun.net.www.http.HttpClient.(Unknown Source) + at java.base/sun.net.www.http.HttpClient.New(Unknown Source) + at java.base/sun.net.www.http.HttpClient.New(Unknown Source) + at java.base/sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(Unknown Source) + at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect0(Unknown Source) + at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source) + at java.base/sun.net.www.protocol.http.HttpURLConnection.connect(Unknown Source) + at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:848) + at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:818) + at org.jsoup.helper.HttpConnection.execute(HttpConnection.java:346) + at org.jsoup.helper.HttpConnection.get(HttpConnection.java:331) + at com.newscrawler.strategy.AbstractBaseStrategy.fetchWithRetry(AbstractBaseStrategy.java:42) + ... 7 common frames omitted +2026-05-29 18:26:09 [main] INFO c.newscrawler.service.CrawlerService - 开始爬取单个站点: sohu +2026-05-29 18:26:09 [main] INFO c.newscrawler.service.CrawlerService - 开始爬取: 搜狐资讯 - https://news.sohu.com/ +2026-05-29 18:26:09 [main] INFO c.n.strategy.AbstractBaseStrategy - 开始爬取站点: 搜狐资讯 +2026-05-29 18:26:09 [main] DEBUG c.n.strategy.AbstractBaseStrategy - 第1次尝试获取页面: https://news.sohu.com/ +2026-05-29 18:26:10 [main] INFO c.n.strategy.AbstractBaseStrategy - 搜狐资讯解析到0条资讯 +2026-05-29 18:26:10 [main] INFO c.n.repository.ArticleRepository - 批量添加完成,成功添加0篇文章 +2026-05-29 18:26:10 [main] INFO c.newscrawler.service.CrawlerService - 爬取搜狐资讯成功,获取0篇文章 +2026-05-29 18:26:53 [main] INFO com.newscrawler.Main - ========== 增强版Java资讯爬虫启动 ========== +2026-05-29 18:26:55 [main] INFO c.newscrawler.service.CrawlerService - 开始爬取单个站点: youth +2026-05-29 18:26:55 [main] INFO c.newscrawler.service.CrawlerService - 开始爬取: 中国青年网校园频道 - http://school.youth.cn/ +2026-05-29 18:26:55 [main] INFO c.n.strategy.AbstractBaseStrategy - 开始爬取站点: 中国青年网校园频道 +2026-05-29 18:26:55 [main] DEBUG c.n.strategy.AbstractBaseStrategy - 第1次尝试获取页面: http://school.youth.cn/ +2026-05-29 18:26:55 [main] WARN c.n.strategy.AbstractBaseStrategy - 第1次尝试失败: school.youth.cn +2026-05-29 18:26:56 [main] DEBUG c.n.strategy.AbstractBaseStrategy - 第2次尝试获取页面: http://school.youth.cn/ +2026-05-29 18:26:56 [main] WARN c.n.strategy.AbstractBaseStrategy - 第2次尝试失败: school.youth.cn +2026-05-29 18:26:58 [main] DEBUG c.n.strategy.AbstractBaseStrategy - 第3次尝试获取页面: http://school.youth.cn/ +2026-05-29 18:26:58 [main] WARN c.n.strategy.AbstractBaseStrategy - 第3次尝试失败: school.youth.cn +2026-05-29 18:26:58 [main] ERROR c.n.strategy.AbstractBaseStrategy - 网络请求最终失败: 网络请求失败,已重试3次 +2026-05-29 18:26:59 [main] ERROR c.newscrawler.service.CrawlerService - 爬取中国青年网校园频道失败: 获取页面失败 +2026-05-29 18:26:59 [main] ERROR com.newscrawler.command.MenuCommand - 菜单操作异常 +com.newscrawler.exception.ParseException: 获取页面失败 + at com.newscrawler.strategy.AbstractBaseStrategy.fetchWithRetry(AbstractBaseStrategy.java:60) + at com.newscrawler.strategy.AbstractBaseStrategy.crawl(AbstractBaseStrategy.java:24) + at com.newscrawler.service.CrawlerService.executeCrawl(CrawlerService.java:60) + at com.newscrawler.service.CrawlerService.crawlSingleSite(CrawlerService.java:32) + at com.newscrawler.command.MenuCommand.crawlSite(MenuCommand.java:106) + at com.newscrawler.command.MenuCommand.handleMainMenu(MenuCommand.java:60) + at com.newscrawler.command.MenuCommand.start(MenuCommand.java:30) + at com.newscrawler.Main.main(Main.java:17) +Caused by: com.newscrawler.exception.NetworkException: 网络请求失败,已重试3次 + at com.newscrawler.strategy.AbstractBaseStrategy.fetchWithRetry(AbstractBaseStrategy.java:58) + ... 7 common frames omitted +Caused by: java.net.UnknownHostException: school.youth.cn + at java.base/sun.nio.ch.NioSocketImpl.connect(Unknown Source) + at java.base/java.net.Socket.connect(Unknown Source) + at java.base/sun.net.NetworkClient.doConnect(Unknown Source) + at java.base/sun.net.www.http.HttpClient.openServer(Unknown Source) + at java.base/sun.net.www.http.HttpClient.openServer(Unknown Source) + at java.base/sun.net.www.http.HttpClient.(Unknown Source) + at java.base/sun.net.www.http.HttpClient.New(Unknown Source) + at java.base/sun.net.www.http.HttpClient.New(Unknown Source) + at java.base/sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(Unknown Source) + at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect0(Unknown Source) + at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source) + at java.base/sun.net.www.protocol.http.HttpURLConnection.connect(Unknown Source) + at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:848) + at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:818) + at org.jsoup.helper.HttpConnection.execute(HttpConnection.java:346) + at org.jsoup.helper.HttpConnection.get(HttpConnection.java:331) + at com.newscrawler.strategy.AbstractBaseStrategy.fetchWithRetry(AbstractBaseStrategy.java:42) + ... 7 common frames omitted +2026-05-29 18:27:35 [com.newscrawler.Main.main()] INFO com.newscrawler.Main - ========== 增强版Java资讯爬虫启动 ========== +2026-05-29 18:28:33 [com.newscrawler.Main.main()] INFO com.newscrawler.Main - ========== 增强版Java资讯爬虫启动 ========== +2026-05-29 18:30:03 [com.newscrawler.Main.main()] INFO com.newscrawler.Main - ========== 增强版Java资讯爬虫启动 ========== +2026-05-29 18:30:52 [com.newscrawler.Main.main()] INFO com.newscrawler.Main - ========== 增强版Java资讯爬虫启动 ========== +2026-05-29 18:37:54 [com.newscrawler.Main.main()] INFO com.newscrawler.Main - ========== 增强版Java资讯爬虫启动 ========== +2026-05-29 18:39:14 [com.newscrawler.Main.main()] INFO com.newscrawler.Main - ========== 增强版Java资讯爬虫启动 ========== +2026-05-29 18:39:57 [main] INFO c.newscrawler.service.CrawlerService - 开始爬取单个站点: youth +2026-05-29 18:39:57 [main] INFO c.newscrawler.service.CrawlerService - 开始爬取: 中国青年网校园频道 - http://school.youth.cn/ +2026-05-29 18:39:57 [main] INFO c.n.strategy.AbstractBaseStrategy - 开始爬取站点: 中国青年网校园频道 +2026-05-29 18:39:57 [main] DEBUG c.n.strategy.AbstractBaseStrategy - 第1次尝试获取页面: http://school.youth.cn/ +2026-05-29 18:39:57 [main] WARN c.n.strategy.AbstractBaseStrategy - 第1次尝试失败: school.youth.cn +2026-05-29 18:39:58 [main] DEBUG c.n.strategy.AbstractBaseStrategy - 第2次尝试获取页面: http://school.youth.cn/ +2026-05-29 18:39:58 [main] WARN c.n.strategy.AbstractBaseStrategy - 第2次尝试失败: school.youth.cn +2026-05-29 18:40:00 [main] DEBUG c.n.strategy.AbstractBaseStrategy - 第3次尝试获取页面: http://school.youth.cn/ +2026-05-29 18:40:00 [main] WARN c.n.strategy.AbstractBaseStrategy - 第3次尝试失败: school.youth.cn +2026-05-29 18:40:00 [main] ERROR c.n.strategy.AbstractBaseStrategy - 网络请求最终失败: 网络请求失败,已重试3次 +2026-05-29 18:40:00 [main] ERROR c.newscrawler.service.CrawlerService - 爬取中国青年网校园频道失败: 获取页面失败 +2026-05-29 18:40:00 [main] ERROR com.newscrawler.command.MenuCommand - 菜单操作异常 +com.newscrawler.exception.ParseException: 获取页面失败 + at com.newscrawler.strategy.AbstractBaseStrategy.fetchWithRetry(AbstractBaseStrategy.java:60) + at com.newscrawler.strategy.AbstractBaseStrategy.crawl(AbstractBaseStrategy.java:24) + at com.newscrawler.service.CrawlerService.executeCrawl(CrawlerService.java:60) + at com.newscrawler.service.CrawlerService.crawlSingleSite(CrawlerService.java:32) + at com.newscrawler.command.MenuCommand.crawlSite(MenuCommand.java:106) + at com.newscrawler.command.MenuCommand.handleMainMenu(MenuCommand.java:60) + at com.newscrawler.command.MenuCommand.start(MenuCommand.java:30) + at com.newscrawler.Main.main(Main.java:17) +Caused by: com.newscrawler.exception.NetworkException: 网络请求失败,已重试3次 + at com.newscrawler.strategy.AbstractBaseStrategy.fetchWithRetry(AbstractBaseStrategy.java:58) + ... 7 common frames omitted +Caused by: java.net.UnknownHostException: school.youth.cn + at java.base/sun.nio.ch.NioSocketImpl.connect(Unknown Source) + at java.base/java.net.Socket.connect(Unknown Source) + at java.base/sun.net.NetworkClient.doConnect(Unknown Source) + at java.base/sun.net.www.http.HttpClient.openServer(Unknown Source) + at java.base/sun.net.www.http.HttpClient.openServer(Unknown Source) + at java.base/sun.net.www.http.HttpClient.(Unknown Source) + at java.base/sun.net.www.http.HttpClient.New(Unknown Source) + at java.base/sun.net.www.http.HttpClient.New(Unknown Source) + at java.base/sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(Unknown Source) + at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect0(Unknown Source) + at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source) + at java.base/sun.net.www.protocol.http.HttpURLConnection.connect(Unknown Source) + at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:848) + at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:818) + at org.jsoup.helper.HttpConnection.execute(HttpConnection.java:346) + at org.jsoup.helper.HttpConnection.get(HttpConnection.java:331) + at com.newscrawler.strategy.AbstractBaseStrategy.fetchWithRetry(AbstractBaseStrategy.java:42) + ... 7 common frames omitted +2026-05-29 18:40:54 [main] INFO c.newscrawler.service.CrawlerService - 开始爬取单个站点: sohu +2026-05-29 18:40:54 [main] INFO c.newscrawler.service.CrawlerService - 开始爬取: 搜狐资讯 - https://news.sohu.com/ +2026-05-29 18:40:54 [main] INFO c.n.strategy.AbstractBaseStrategy - 开始爬取站点: 搜狐资讯 +2026-05-29 18:40:54 [main] DEBUG c.n.strategy.AbstractBaseStrategy - 第1次尝试获取页面: https://news.sohu.com/ +2026-05-29 18:40:55 [main] INFO c.n.strategy.AbstractBaseStrategy - 搜狐资讯解析到0条资讯 +2026-05-29 18:40:55 [main] INFO c.n.repository.ArticleRepository - 批量添加完成,成功添加0篇文章 +2026-05-29 18:40:55 [main] INFO c.newscrawler.service.CrawlerService - 爬取搜狐资讯成功,获取0篇文章 +2026-05-29 18:42:25 [main] INFO com.newscrawler.Main - ========== 增强版Java资讯爬虫启动 ========== +2026-05-29 18:42:28 [main] INFO c.newscrawler.service.CrawlerService - 开始爬取单个站点: runoob +2026-05-29 18:42:28 [main] INFO c.newscrawler.service.CrawlerService - 开始爬取: 菜鸟教程资讯 - https://www.runoob.com/ +2026-05-29 18:42:28 [main] INFO c.n.strategy.AbstractBaseStrategy - 开始爬取站点: 菜鸟教程资讯 +2026-05-29 18:42:28 [main] DEBUG c.n.strategy.AbstractBaseStrategy - 第1次尝试获取页面: https://www.runoob.com/ +2026-05-29 18:42:29 [main] INFO c.n.strategy.AbstractBaseStrategy - 菜鸟教程解析到179条资讯 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 菜鸟教程 -- 学的不仅是技术,更是梦想! +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: HTML 手册 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: Javascript +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: CSS 1,2,3 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: Zepto 中文手册 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: Flat UI +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: PostgreSQL 手册 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: HTML 测验 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: HTML5 测验 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: XHTML 测验 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: CSS 测验 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: jQuery 测验 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: XML 测验 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: ASP 测验 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: PHP 测验 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: SQL 测验 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: Python 测验 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Python】 Python3 是当前主流 Python 版本。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Python2.x】 Python 经典版本。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 FastAPI】 现代高性能 Python API 框架。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Flask】 轻量级 Python Web 应用框架。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Django】 全功能 Python Web 开发框架。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 NumPy】 Python 科学计算核心库。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Pandas】 Python 数据分析核心库。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 SciPy】 Python 数学与科学计算工具包。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Matplotlib】 Python 数据可视化绘图库。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Dash】 Python 数据分析与可视化 Web 框架。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Jupyter Notebook】 交互式数据分析与计算工具。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Pillow】 Python 图像处理库。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【量化交易】 利用程序化策略进行金融交易。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 R】 用于统计分析与数据科学的编程语言。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Julia】 面向科学计算的高性能语言。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【AI Agent(智能体)】 AI Agent 让模型不只回答问题,而是按步骤完成动作。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【Skills(技能)】 Skills 让智能体具备特定能力与工作流。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【Codex 教程】 OpenAI 推出的 AI 编程协作工具。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【Claude Code】 Anthropic 推出的 AI 编程协作工具。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【OpenCode】 开源 AI 编程协作工具。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Ollama】 开源本地大语言模型运行框架。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 TensorFlow】 TensorFlow 是一个开源机器学习框架。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 PyTorch】 PyTorch 是一个开源机器学习框架。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Scikit-learn】 Scikit-learn 是一个开源机器学习库。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【机器学习】 机器学习是让机器通过数据进行预测与决策。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【LangChain】 用于构建基于大语言模型的应用程序的框架。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【自然语言处理 NLP】 自然语言处理是人工智能与语言学的交叉领域。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 OpenCV】 开源计算机视觉与机器学习软件库。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Selenium】 自动化 Web 浏览器操作工具。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Playwright】 现代 Web 自动化与端到端测试框架。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 HTML】 HTML 是网页的标准标记语言。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 HTML5】 下一代 HTML 标准。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 CSS】 网页样式与布局语言。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 CSS3】 CSS3 是 CSS 技术升级版本。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 JavaScript】 Web 核心编程语言。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 HTML DOM】 HTML DOM 定义了访问和操作 HTML 文档的标准方法。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 TypeScript】 JavaScript 的超集语言。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 AJAX】 异步 Web 数据交互技术。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 JSON】 数据交换标准格式。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Tailwind CSS】 实用优先 CSS 框架。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Bootstrap4】 经典响应式前端框架。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Bootstrap5】 最新 Bootstrap 前端框架。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Foundation】 响应式 HTML、CSS 与 JavaScript 框架。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Vue.js】 渐进式前端框架。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Vue3】 新一代 Vue 前端框架。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 React】 用于构建 UI 的 JavaScript 库。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Next.js】 基于 React 的全栈框架。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 AngularJS】 Google 推出的经典前端框架。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Angular】 现代 Angular 前端框架。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 jQuery】 经典 JavaScript 工具库。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 jQuery UI】 基于 jQuery 的 UI 组件库。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 jQuery EasyUI】 基于 jQuery 的 UI 框架。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 ECharts】 开源数据可视化图表库。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Chart.js】 轻量级 JavaScript 图表库。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Highcharts】 高级交互式图表库。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Google 地图】 Google Maps API 使用教程。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 SVG】 基于 XML 的矢量图格式。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Font Awesome】 流行图标字体库。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Node.js】 服务端 JavaScript 运行环境。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Electron】 基于 Web 技术开发跨平台桌面应用。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 PHP】 经典 Web 服务端语言。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Java】 企业级开发主流语言。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Go】 Google 推出的现代服务端语言。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Rust】 高性能系统级编程语言。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 C#】 .NET 核心开发语言。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Servlet】 Java Web 服务端技术。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 JSP】 Java 服务端页面技术。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 ASP】 经典动态服务器页面技术。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 AppML】 轻量级 Web 应用框架。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 VBScript】 微软经典脚本语言。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Swagger】 API 文档与测试工具。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 RESTful API】 现代 API 设计规范。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Docker】 容器化应用部署平台。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Linux】 主流服务器操作系统。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 ZooKeeper】 分布式协调服务。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 SQL】 结构化查询语言。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 MySQL】 流行关系型数据库。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 PostgreSQL】 高级开源关系型数据库。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 SQLite】 轻量级嵌入式数据库。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 MongoDB】 主流 NoSQL 数据库。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Redis】 高性能内存数据库。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Memcached】 分布式缓存系统。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Android】 Android 移动开发平台。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Flutter】 Google 跨平台 UI 框架。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Ionic】 HTML5 混合移动开发框架。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 jQuery Mobile】 移动端 Web UI 框架。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Swift】 Apple 官方开发语言。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Kotlin】 Android 官方开发语言。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Git】 分布式版本控制系统。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 SVN】 集中式版本控制系统。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 CMake】 跨平台构建工具。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Maven】 Java 项目构建工具。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 VS Code】 现代代码编辑器。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Obsidian】 现代化笔记应用。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 PyCharm】 Python 专业 IDE。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Eclipse】 经典 Java IDE。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Markdown】 轻量级标记语言。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 C】 经典系统级编程语言。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 C++】 高性能通用编程语言。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Zig】 现代系统级编程语言。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Scala】 运行于 JVM 的多范式语言。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Ruby】 优雅简洁的脚本语言。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Perl】 经典文本处理语言。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Lua】 轻量级嵌入式脚本语言。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习汇编语言】 面向硬件的低级语言。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Verilog】 数字电路硬件描述语言。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【数据结构与算法】 计算机核心基础知识。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【设计模式】 经典软件设计思想。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【Python 设计模式】 Python 面向对象设计实践。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【正则表达式】 字符串匹配与文本处理。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 HTTP】 Web 通信协议。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 TCP/IP】 互联网通信协议族。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【网络协议】 计算机网络通信规则。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 W3C】 Web 标准组织。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 XML】 数据交换与存储格式。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 DTD】 XML 文档类型定义。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 XML DOM】 XML 文档操作标准。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 XSLT】 XML 转换语言。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 XPath】 XML 节点查询语言。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 XQuery】 XML 查询语言。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 XLink】 XML 超链接标准。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 XPointer】 XML 数据定位语言。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 XML Schema】 XML 文档结构定义。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 XSL-FO】 XML 格式化对象语言。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Web Service】 基于网络的服务接口技术。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 WSDL】 Web Service 描述语言。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 SOAP】 基于 XML 的通信协议。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 RSS】 内容聚合订阅协议。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 RDF】 资源描述框架。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 ASP.NET】 .NET Web 开发框架。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 MVC】 MVC 架构模式。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Razor】 .NET 模板引擎。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Web Forms】 经典 ASP.NET 开发模式。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Web Pages】 ASP.NET Web Pages 开发模式。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 PowerShell】 微软自动化脚本环境。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【网站建设指南】 网站开发与建设基础教程。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【浏览器信息】 浏览器市场与兼容性信息。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【网站主机教程】 网站部署与服务器托管。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【网站品质】 构建高质量网站。 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: HTML 实例 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: CSS 实例 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: JavaScript 实例 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: Ajax 实例 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: jQuery 实例 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: XML 实例 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: Java 实例 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: HTML 字符集设置 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: HTML ASCII 字符集 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: JS 混淆/加密 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: PNG/JPEG 图片压缩 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: HTML 拾色器 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: JSON 格式化工具 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 随机数生成器 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 搭子(DuMate)... +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: QoderWake 入门教程 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: Obsidian 同步、... +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: Obsidian 工作流... +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: Obsidian 插件 +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: Obsidian 文件组... +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: Obsidian 双链与... +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: runoob.com +2026-05-29 18:42:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 闽ICP备15012807号-1 +2026-05-29 18:42:29 [main] INFO c.n.repository.ArticleRepository - 批量添加完成,成功添加179篇文章 +2026-05-29 18:42:29 [main] INFO c.newscrawler.service.CrawlerService - 爬取菜鸟教程资讯成功,获取179篇文章 +2026-05-29 18:43:44 [com.newscrawler.Main.main()] INFO com.newscrawler.Main - ========== 增强版Java资讯爬虫启动 ========== +2026-05-29 18:44:11 [main] INFO com.newscrawler.Main - ========== 增强版Java资讯爬虫启动 ========== +2026-05-29 18:44:14 [main] INFO c.newscrawler.service.CrawlerService - 开始爬取单个站点: youth +2026-05-29 18:44:14 [main] INFO c.newscrawler.service.CrawlerService - 开始爬取: 腾讯新闻 - https://news.qq.com/ +2026-05-29 18:44:14 [main] INFO c.n.strategy.AbstractBaseStrategy - 开始爬取站点: 腾讯新闻 +2026-05-29 18:44:14 [main] DEBUG c.n.strategy.AbstractBaseStrategy - 第1次尝试获取页面: https://news.qq.com/ +2026-05-29 18:44:15 [main] INFO c.n.strategy.AbstractBaseStrategy - 腾讯新闻解析到0条资讯 +2026-05-29 18:44:15 [main] INFO c.n.repository.ArticleRepository - 批量添加完成,成功添加0篇文章 +2026-05-29 18:44:15 [main] INFO c.newscrawler.service.CrawlerService - 爬取腾讯新闻成功,获取0篇文章 +2026-05-29 18:44:44 [main] INFO c.newscrawler.service.CrawlerService - 开始爬取单个站点: sohu +2026-05-29 18:44:44 [main] INFO c.newscrawler.service.CrawlerService - 开始爬取: 搜狐资讯 - https://news.sohu.com/ +2026-05-29 18:44:44 [main] INFO c.n.strategy.AbstractBaseStrategy - 开始爬取站点: 搜狐资讯 +2026-05-29 18:44:44 [main] DEBUG c.n.strategy.AbstractBaseStrategy - 第1次尝试获取页面: https://news.sohu.com/ +2026-05-29 18:44:45 [main] INFO c.n.strategy.AbstractBaseStrategy - 搜狐资讯解析到20条资讯 +2026-05-29 18:44:45 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 幼儿园老师用热熔胶故意烫伤学生嘴唇被停职 +2026-05-29 18:44:45 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 家长应该“陪写作业”吗? +2026-05-29 18:44:45 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 取消固定分时电价=电费要涨?答案来了 +2026-05-29 18:44:45 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 少年志|国旗在我心 +2026-05-29 18:44:45 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 种树40年,我和沙漠扯平了 +2026-05-29 18:44:45 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: “钢铁”见证 中塞友谊 +2026-05-29 18:44:45 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 加拿大军舰过航台湾海峡?中方回应 +2026-05-29 18:44:45 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 铁路新规将实施 违规乘车拒不补票将被限制购票 +2026-05-29 18:44:45 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 网线被人拔断、传感器被阻断,瓦斯监测为何失效? +2026-05-29 18:44:45 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 生态环境部回应“野猪频繁进城” +2026-05-29 18:44:45 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 河南一低保老人被贷款20万 官方通报 +2026-05-29 18:44:45 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 多方介入后 收麦遇“割四赔五”农机手收到收割费 +2026-05-29 18:44:45 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 泡药风波中的漳州杨梅:已损失超1.2亿元 有果农收入暴跌80% +2026-05-29 18:44:45 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 稻城亚丁暂停收取摆渡车费用,那以后呢 +2026-05-29 18:44:45 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 国内航线燃油附加费下调 6月5日起单程最高降至150元 +2026-05-29 18:44:45 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 贵州大学招聘要求配偶为本校博士,与萝卜岗何异? +2026-05-29 18:44:45 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 中方郑重声明:日、菲所谓“划界谈判”完全非法无效 +2026-05-29 18:44:45 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 美伊草案内容全曝光 内塔尼亚胡看完“气炸了” +2026-05-29 18:44:45 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 特朗普肖像纪念钞已设计完成 美国法律禁止货币印制在世人士头像 +2026-05-29 18:44:45 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 朝鲜外务省称绝不放弃核武器,外交部表态 +2026-05-29 18:44:45 [main] INFO c.n.repository.ArticleRepository - 批量添加完成,成功添加20篇文章 +2026-05-29 18:44:45 [main] INFO c.newscrawler.service.CrawlerService - 爬取搜狐资讯成功,获取20篇文章 +2026-05-29 18:45:54 [main] INFO c.newscrawler.service.CrawlerService - 开始爬取单个站点: youth +2026-05-29 18:45:54 [main] INFO c.newscrawler.service.CrawlerService - 开始爬取: 腾讯新闻 - https://news.qq.com/ +2026-05-29 18:45:54 [main] INFO c.n.strategy.AbstractBaseStrategy - 开始爬取站点: 腾讯新闻 +2026-05-29 18:45:54 [main] DEBUG c.n.strategy.AbstractBaseStrategy - 第1次尝试获取页面: https://news.qq.com/ +2026-05-29 18:45:54 [main] INFO c.n.strategy.AbstractBaseStrategy - 腾讯新闻解析到0条资讯 +2026-05-29 18:45:54 [main] INFO c.n.repository.ArticleRepository - 批量添加完成,成功添加0篇文章 +2026-05-29 18:45:54 [main] INFO c.newscrawler.service.CrawlerService - 爬取腾讯新闻成功,获取0篇文章 +2026-05-29 18:47:09 [main] INFO c.newscrawler.service.CrawlerService - 开始爬取单个站点: youth +2026-05-29 18:47:09 [main] INFO c.newscrawler.service.CrawlerService - 开始爬取: 腾讯新闻 - https://news.qq.com/ +2026-05-29 18:47:09 [main] INFO c.n.strategy.AbstractBaseStrategy - 开始爬取站点: 腾讯新闻 +2026-05-29 18:47:09 [main] DEBUG c.n.strategy.AbstractBaseStrategy - 第1次尝试获取页面: https://news.qq.com/ +2026-05-29 18:47:09 [main] INFO c.n.strategy.AbstractBaseStrategy - 腾讯新闻解析到0条资讯 +2026-05-29 18:47:09 [main] INFO c.n.repository.ArticleRepository - 批量添加完成,成功添加0篇文章 +2026-05-29 18:47:09 [main] INFO c.newscrawler.service.CrawlerService - 爬取腾讯新闻成功,获取0篇文章 +2026-05-29 18:48:25 [com.newscrawler.Main.main()] INFO com.newscrawler.Main - ========== 增强版Java资讯爬虫启动 ========== +2026-05-29 18:48:47 [main] INFO c.newscrawler.service.CrawlerService - 开始爬取单个站点: youth +2026-05-29 18:48:47 [main] INFO c.newscrawler.service.CrawlerService - 开始爬取: 腾讯新闻 - https://news.qq.com/ +2026-05-29 18:48:47 [main] INFO c.n.strategy.AbstractBaseStrategy - 开始爬取站点: 腾讯新闻 +2026-05-29 18:48:47 [main] DEBUG c.n.strategy.AbstractBaseStrategy - 第1次尝试获取页面: https://news.qq.com/ +2026-05-29 18:48:47 [main] INFO c.n.strategy.AbstractBaseStrategy - 腾讯新闻解析到0条资讯 +2026-05-29 18:48:47 [main] INFO c.n.repository.ArticleRepository - 批量添加完成,成功添加0篇文章 +2026-05-29 18:48:47 [main] INFO c.newscrawler.service.CrawlerService - 爬取腾讯新闻成功,获取0篇文章 +2026-05-29 18:49:44 [com.newscrawler.Main.main()] INFO com.newscrawler.Main - ========== 增强版Java资讯爬虫启动 ========== +2026-05-29 18:50:31 [main] INFO c.newscrawler.service.CrawlerService - 开始爬取单个站点: youth +2026-05-29 18:50:31 [main] INFO c.newscrawler.service.CrawlerService - 开始爬取: 腾讯新闻 - https://news.qq.com/ +2026-05-29 18:50:31 [main] INFO c.n.strategy.AbstractBaseStrategy - 开始爬取站点: 腾讯新闻 +2026-05-29 18:50:31 [main] DEBUG c.n.strategy.AbstractBaseStrategy - 第1次尝试获取页面: https://news.qq.com/ +2026-05-29 18:50:31 [main] INFO c.n.strategy.AbstractBaseStrategy - 腾讯新闻解析到0条资讯 +2026-05-29 18:50:31 [main] INFO c.n.repository.ArticleRepository - 批量添加完成,成功添加0篇文章 +2026-05-29 18:50:31 [main] INFO c.newscrawler.service.CrawlerService - 爬取腾讯新闻成功,获取0篇文章 +2026-05-29 18:52:29 [com.newscrawler.Main.main()] INFO com.newscrawler.Main - ========== 增强版Java资讯爬虫启动 ========== +2026-05-29 19:00:54 [main] INFO com.newscrawler.Main - ========== 增强版Java资讯爬虫启动 ========== +2026-05-29 19:01:08 [main] INFO c.newscrawler.service.CrawlerService - 开始爬取单个站点: youth +2026-05-29 19:01:08 [main] INFO c.newscrawler.service.CrawlerService - 开始爬取: 知乎日报 - https://daily.zhihu.com/ +2026-05-29 19:01:08 [main] INFO c.n.strategy.AbstractBaseStrategy - 开始爬取站点: 知乎日报 +2026-05-29 19:01:08 [main] DEBUG c.n.strategy.AbstractBaseStrategy - 第1次尝试获取页面: https://daily.zhihu.com/ +2026-05-29 19:01:09 [main] INFO c.n.strategy.AbstractBaseStrategy - 开始解析知乎日报页面,HTML长度: 12786 +2026-05-29 19:01:09 [main] INFO c.n.strategy.AbstractBaseStrategy - 页面共有 39 个链接 +2026-05-29 19:01:09 [main] INFO c.n.strategy.AbstractBaseStrategy - 初步解析到37条资讯 +2026-05-29 19:01:09 [main] INFO c.n.strategy.AbstractBaseStrategy - 知乎日报最终解析到20条资讯 +2026-05-29 19:01:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 浏览内容 +2026-05-29 19:01:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: App 下载 +2026-05-29 19:01:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 知乎日报 +2026-05-29 19:01:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: iOS 版 +2026-05-29 19:01:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 为什么人类不能自身合成维生素C? +2026-05-29 19:01:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 林黛玉被妙玉嫌弃太俗,却不敢反驳,她怼贾宝玉的劲儿哪去了? +2026-05-29 19:01:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 魏博没有山川险阻,靠什么屹立150年。甚至长期成为最强藩? +2026-05-29 19:01:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 瞎扯 · 如何正确地吐槽 +2026-05-29 19:01:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 为什么松鼠的动作总是一顿一顿的?像卡帧一样? +2026-05-29 19:01:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 既有 F=ma,又有F=kx,那么物理公式到底要求等号左边是因还是果? +2026-05-29 19:01:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 西安唐代城门恢复为何不学洛阳,丹凤门像土黄色纸壳子,明德门像塑料玩具? +2026-05-29 19:01:09 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 瞎扯 · 如何正确地吐槽 +2026-05-29 19:01:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 游牧民族几乎没有碳水来源,为什么没有营养不良? +2026-05-29 19:01:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 为什么压力单位这么混乱? +2026-05-29 19:01:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 为什么会有好奇害死猫这个说法? +2026-05-29 19:01:09 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 瞎扯 · 如何正确地吐槽 +2026-05-29 19:01:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 为什么《茶花女》里玛格丽特会欠下那么多债务? +2026-05-29 19:01:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 狗鼻子贴地猛吸,为什么不怕把土吸进肺里? +2026-05-29 19:01:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: Harness Engineering 的本质是什么? +2026-05-29 19:01:09 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 瞎扯 · 如何正确地吐槽 +2026-05-29 19:01:09 [main] INFO c.n.repository.ArticleRepository - 批量添加完成,成功添加20篇文章 +2026-05-29 19:01:09 [main] INFO c.newscrawler.service.CrawlerService - 爬取知乎日报成功,获取20篇文章 +2026-05-29 19:47:26 [main] INFO c.newscrawler.service.CrawlerService - 开始批量爬取所有站点 +2026-05-29 19:47:26 [main] INFO c.newscrawler.service.CrawlerService - 开始爬取: 搜狐资讯 - https://news.sohu.com/ +2026-05-29 19:47:26 [main] INFO c.n.strategy.AbstractBaseStrategy - 开始爬取站点: 搜狐资讯 +2026-05-29 19:47:26 [main] DEBUG c.n.strategy.AbstractBaseStrategy - 第1次尝试获取页面: https://news.sohu.com/ +2026-05-29 19:47:27 [main] INFO c.n.strategy.AbstractBaseStrategy - 搜狐资讯解析到20条资讯 +2026-05-29 19:47:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 幼儿园老师用热熔胶故意烫伤学生嘴唇被停职 +2026-05-29 19:47:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 家长应该“陪写作业”吗? +2026-05-29 19:47:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 取消固定分时电价=电费要涨?答案来了 +2026-05-29 19:47:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 少年志|国旗在我心 +2026-05-29 19:47:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 种树40年,我和沙漠扯平了 +2026-05-29 19:47:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: “钢铁”见证 中塞友谊 +2026-05-29 19:47:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 加拿大军舰过航台湾海峡?中方回应 +2026-05-29 19:47:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 铁路新规将实施 违规乘车拒不补票将被限制购票 +2026-05-29 19:47:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 网线被人拔断、传感器被阻断,瓦斯监测为何失效? +2026-05-29 19:47:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 生态环境部回应“野猪频繁进城” +2026-05-29 19:47:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 河南一低保老人被贷款20万 官方通报 +2026-05-29 19:47:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 多方介入后 收麦遇“割四赔五”农机手收到收割费 +2026-05-29 19:47:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 泡药风波中的漳州杨梅:已损失超1.2亿元 有果农收入暴跌80% +2026-05-29 19:47:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 稻城亚丁暂停收取摆渡车费用,那以后呢 +2026-05-29 19:47:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 国内航线燃油附加费下调 6月5日起单程最高降至150元 +2026-05-29 19:47:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 丁向群任国家金融监督管理总局党委书记 +2026-05-29 19:47:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 中方郑重声明:日、菲所谓“划界谈判”完全非法无效 +2026-05-29 19:47:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 美伊草案内容全曝光 内塔尼亚胡看完“气炸了” +2026-05-29 19:47:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 特朗普肖像纪念钞已设计完成 美国法律禁止货币印制在世人士头像 +2026-05-29 19:47:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 朝鲜外务省称绝不放弃核武器,外交部表态 +2026-05-29 19:47:27 [main] INFO c.n.repository.ArticleRepository - 批量添加完成,成功添加20篇文章 +2026-05-29 19:47:27 [main] INFO c.newscrawler.service.CrawlerService - 爬取搜狐资讯成功,获取20篇文章 +2026-05-29 19:47:27 [main] INFO c.newscrawler.service.CrawlerService - 开始爬取: 知乎日报 - https://daily.zhihu.com/ +2026-05-29 19:47:27 [main] INFO c.n.strategy.AbstractBaseStrategy - 开始爬取站点: 知乎日报 +2026-05-29 19:47:27 [main] DEBUG c.n.strategy.AbstractBaseStrategy - 第1次尝试获取页面: https://daily.zhihu.com/ +2026-05-29 19:47:27 [main] INFO c.n.strategy.AbstractBaseStrategy - 开始解析知乎日报页面,HTML长度: 12786 +2026-05-29 19:47:27 [main] INFO c.n.strategy.AbstractBaseStrategy - 页面共有 39 个链接 +2026-05-29 19:47:27 [main] INFO c.n.strategy.AbstractBaseStrategy - 初步解析到37条资讯 +2026-05-29 19:47:27 [main] INFO c.n.strategy.AbstractBaseStrategy - 知乎日报最终解析到20条资讯 +2026-05-29 19:47:27 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 浏览内容 +2026-05-29 19:47:27 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: App 下载 +2026-05-29 19:47:27 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 知乎日报 +2026-05-29 19:47:27 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: iOS 版 +2026-05-29 19:47:27 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 为什么人类不能自身合成维生素C? +2026-05-29 19:47:27 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 林黛玉被妙玉嫌弃太俗,却不敢反驳,她怼贾宝玉的劲儿哪去了? +2026-05-29 19:47:27 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 魏博没有山川险阻,靠什么屹立150年。甚至长期成为最强藩? +2026-05-29 19:47:27 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 瞎扯 · 如何正确地吐槽 +2026-05-29 19:47:27 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 为什么松鼠的动作总是一顿一顿的?像卡帧一样? +2026-05-29 19:47:27 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 既有 F=ma,又有F=kx,那么物理公式到底要求等号左边是因还是果? +2026-05-29 19:47:27 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 西安唐代城门恢复为何不学洛阳,丹凤门像土黄色纸壳子,明德门像塑料玩具? +2026-05-29 19:47:27 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 瞎扯 · 如何正确地吐槽 +2026-05-29 19:47:27 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 游牧民族几乎没有碳水来源,为什么没有营养不良? +2026-05-29 19:47:27 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 为什么压力单位这么混乱? +2026-05-29 19:47:27 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 为什么会有好奇害死猫这个说法? +2026-05-29 19:47:27 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 瞎扯 · 如何正确地吐槽 +2026-05-29 19:47:27 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 为什么《茶花女》里玛格丽特会欠下那么多债务? +2026-05-29 19:47:27 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 狗鼻子贴地猛吸,为什么不怕把土吸进肺里? +2026-05-29 19:47:27 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: Harness Engineering 的本质是什么? +2026-05-29 19:47:27 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 瞎扯 · 如何正确地吐槽 +2026-05-29 19:47:27 [main] INFO c.n.repository.ArticleRepository - 批量添加完成,成功添加20篇文章 +2026-05-29 19:47:27 [main] INFO c.newscrawler.service.CrawlerService - 爬取知乎日报成功,获取20篇文章 +2026-05-29 19:47:27 [main] INFO c.newscrawler.service.CrawlerService - 开始爬取: 菜鸟教程资讯 - https://www.runoob.com/ +2026-05-29 19:47:27 [main] INFO c.n.strategy.AbstractBaseStrategy - 开始爬取站点: 菜鸟教程资讯 +2026-05-29 19:47:27 [main] DEBUG c.n.strategy.AbstractBaseStrategy - 第1次尝试获取页面: https://www.runoob.com/ +2026-05-29 19:47:29 [main] INFO c.n.strategy.AbstractBaseStrategy - 菜鸟教程解析到179条资讯 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 菜鸟教程 -- 学的不仅是技术,更是梦想! +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: HTML 手册 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: Javascript +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: CSS 1,2,3 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: Zepto 中文手册 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: Flat UI +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: PostgreSQL 手册 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: HTML 测验 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: HTML5 测验 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: XHTML 测验 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: CSS 测验 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: jQuery 测验 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: XML 测验 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: ASP 测验 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: PHP 测验 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: SQL 测验 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: Python 测验 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Python】 Python3 是当前主流 Python 版本。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Python2.x】 Python 经典版本。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 FastAPI】 现代高性能 Python API 框架。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Flask】 轻量级 Python Web 应用框架。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Django】 全功能 Python Web 开发框架。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 NumPy】 Python 科学计算核心库。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Pandas】 Python 数据分析核心库。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 SciPy】 Python 数学与科学计算工具包。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Matplotlib】 Python 数据可视化绘图库。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Dash】 Python 数据分析与可视化 Web 框架。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Jupyter Notebook】 交互式数据分析与计算工具。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Pillow】 Python 图像处理库。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【量化交易】 利用程序化策略进行金融交易。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 R】 用于统计分析与数据科学的编程语言。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Julia】 面向科学计算的高性能语言。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【AI Agent(智能体)】 AI Agent 让模型不只回答问题,而是按步骤完成动作。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【Skills(技能)】 Skills 让智能体具备特定能力与工作流。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【Codex 教程】 OpenAI 推出的 AI 编程协作工具。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【Claude Code】 Anthropic 推出的 AI 编程协作工具。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【OpenCode】 开源 AI 编程协作工具。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Ollama】 开源本地大语言模型运行框架。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 TensorFlow】 TensorFlow 是一个开源机器学习框架。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 PyTorch】 PyTorch 是一个开源机器学习框架。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Scikit-learn】 Scikit-learn 是一个开源机器学习库。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【机器学习】 机器学习是让机器通过数据进行预测与决策。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【LangChain】 用于构建基于大语言模型的应用程序的框架。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【自然语言处理 NLP】 自然语言处理是人工智能与语言学的交叉领域。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 OpenCV】 开源计算机视觉与机器学习软件库。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Selenium】 自动化 Web 浏览器操作工具。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Playwright】 现代 Web 自动化与端到端测试框架。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 HTML】 HTML 是网页的标准标记语言。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 HTML5】 下一代 HTML 标准。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 CSS】 网页样式与布局语言。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 CSS3】 CSS3 是 CSS 技术升级版本。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 JavaScript】 Web 核心编程语言。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 HTML DOM】 HTML DOM 定义了访问和操作 HTML 文档的标准方法。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 TypeScript】 JavaScript 的超集语言。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 AJAX】 异步 Web 数据交互技术。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 JSON】 数据交换标准格式。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Tailwind CSS】 实用优先 CSS 框架。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Bootstrap4】 经典响应式前端框架。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Bootstrap5】 最新 Bootstrap 前端框架。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Foundation】 响应式 HTML、CSS 与 JavaScript 框架。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Vue.js】 渐进式前端框架。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Vue3】 新一代 Vue 前端框架。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 React】 用于构建 UI 的 JavaScript 库。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Next.js】 基于 React 的全栈框架。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 AngularJS】 Google 推出的经典前端框架。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Angular】 现代 Angular 前端框架。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 jQuery】 经典 JavaScript 工具库。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 jQuery UI】 基于 jQuery 的 UI 组件库。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 jQuery EasyUI】 基于 jQuery 的 UI 框架。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 ECharts】 开源数据可视化图表库。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Chart.js】 轻量级 JavaScript 图表库。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Highcharts】 高级交互式图表库。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Google 地图】 Google Maps API 使用教程。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 SVG】 基于 XML 的矢量图格式。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Font Awesome】 流行图标字体库。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Node.js】 服务端 JavaScript 运行环境。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Electron】 基于 Web 技术开发跨平台桌面应用。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 PHP】 经典 Web 服务端语言。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Java】 企业级开发主流语言。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Go】 Google 推出的现代服务端语言。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Rust】 高性能系统级编程语言。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 C#】 .NET 核心开发语言。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Servlet】 Java Web 服务端技术。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 JSP】 Java 服务端页面技术。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 ASP】 经典动态服务器页面技术。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 AppML】 轻量级 Web 应用框架。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 VBScript】 微软经典脚本语言。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Swagger】 API 文档与测试工具。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 RESTful API】 现代 API 设计规范。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Docker】 容器化应用部署平台。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Linux】 主流服务器操作系统。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 ZooKeeper】 分布式协调服务。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 SQL】 结构化查询语言。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 MySQL】 流行关系型数据库。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 PostgreSQL】 高级开源关系型数据库。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 SQLite】 轻量级嵌入式数据库。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 MongoDB】 主流 NoSQL 数据库。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Redis】 高性能内存数据库。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Memcached】 分布式缓存系统。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Android】 Android 移动开发平台。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Flutter】 Google 跨平台 UI 框架。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Ionic】 HTML5 混合移动开发框架。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 jQuery Mobile】 移动端 Web UI 框架。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Swift】 Apple 官方开发语言。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Kotlin】 Android 官方开发语言。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Git】 分布式版本控制系统。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 SVN】 集中式版本控制系统。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 CMake】 跨平台构建工具。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Maven】 Java 项目构建工具。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 VS Code】 现代代码编辑器。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Obsidian】 现代化笔记应用。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 PyCharm】 Python 专业 IDE。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Eclipse】 经典 Java IDE。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Markdown】 轻量级标记语言。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 C】 经典系统级编程语言。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 C++】 高性能通用编程语言。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Zig】 现代系统级编程语言。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Scala】 运行于 JVM 的多范式语言。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Ruby】 优雅简洁的脚本语言。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Perl】 经典文本处理语言。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Lua】 轻量级嵌入式脚本语言。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习汇编语言】 面向硬件的低级语言。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Verilog】 数字电路硬件描述语言。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【数据结构与算法】 计算机核心基础知识。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【设计模式】 经典软件设计思想。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【Python 设计模式】 Python 面向对象设计实践。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【正则表达式】 字符串匹配与文本处理。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 HTTP】 Web 通信协议。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 TCP/IP】 互联网通信协议族。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【网络协议】 计算机网络通信规则。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 W3C】 Web 标准组织。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 XML】 数据交换与存储格式。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 DTD】 XML 文档类型定义。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 XML DOM】 XML 文档操作标准。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 XSLT】 XML 转换语言。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 XPath】 XML 节点查询语言。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 XQuery】 XML 查询语言。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 XLink】 XML 超链接标准。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 XPointer】 XML 数据定位语言。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 XML Schema】 XML 文档结构定义。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 XSL-FO】 XML 格式化对象语言。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Web Service】 基于网络的服务接口技术。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 WSDL】 Web Service 描述语言。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 SOAP】 基于 XML 的通信协议。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 RSS】 内容聚合订阅协议。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 RDF】 资源描述框架。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 ASP.NET】 .NET Web 开发框架。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 MVC】 MVC 架构模式。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Razor】 .NET 模板引擎。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Web Forms】 经典 ASP.NET 开发模式。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Web Pages】 ASP.NET Web Pages 开发模式。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 PowerShell】 微软自动化脚本环境。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【网站建设指南】 网站开发与建设基础教程。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【浏览器信息】 浏览器市场与兼容性信息。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【网站主机教程】 网站部署与服务器托管。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【网站品质】 构建高质量网站。 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: HTML 实例 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: CSS 实例 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: JavaScript 实例 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: Ajax 实例 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: jQuery 实例 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: XML 实例 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: Java 实例 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: HTML 字符集设置 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: HTML ASCII 字符集 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: JS 混淆/加密 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: PNG/JPEG 图片压缩 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: HTML 拾色器 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: JSON 格式化工具 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 随机数生成器 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 搭子(DuMate)... +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: QoderWake 入门教程 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: Obsidian 同步、... +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: Obsidian 工作流... +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: Obsidian 插件 +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: Obsidian 文件组... +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: Obsidian 双链与... +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: runoob.com +2026-05-29 19:47:29 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 闽ICP备15012807号-1 +2026-05-29 19:47:29 [main] INFO c.n.repository.ArticleRepository - 批量添加完成,成功添加179篇文章 +2026-05-29 19:47:29 [main] INFO c.newscrawler.service.CrawlerService - 爬取菜鸟教程资讯成功,获取179篇文章 +2026-05-29 19:47:29 [main] INFO c.newscrawler.service.CrawlerService - 批量爬取完成,共获取219篇文章 +2026-05-29 19:49:20 [main] INFO c.newscrawler.service.CrawlerService - 开始爬取单个站点: youth +2026-05-29 19:49:20 [main] INFO c.newscrawler.service.CrawlerService - 开始爬取: 知乎日报 - https://daily.zhihu.com/ +2026-05-29 19:49:20 [main] INFO c.n.strategy.AbstractBaseStrategy - 开始爬取站点: 知乎日报 +2026-05-29 19:49:20 [main] DEBUG c.n.strategy.AbstractBaseStrategy - 第1次尝试获取页面: https://daily.zhihu.com/ +2026-05-29 19:49:20 [main] INFO c.n.strategy.AbstractBaseStrategy - 开始解析知乎日报页面,HTML长度: 12786 +2026-05-29 19:49:20 [main] INFO c.n.strategy.AbstractBaseStrategy - 页面共有 39 个链接 +2026-05-29 19:49:20 [main] INFO c.n.strategy.AbstractBaseStrategy - 初步解析到37条资讯 +2026-05-29 19:49:20 [main] INFO c.n.strategy.AbstractBaseStrategy - 知乎日报最终解析到20条资讯 +2026-05-29 19:49:20 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 浏览内容 +2026-05-29 19:49:20 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: App 下载 +2026-05-29 19:49:20 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 知乎日报 +2026-05-29 19:49:20 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: iOS 版 +2026-05-29 19:49:20 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 为什么人类不能自身合成维生素C? +2026-05-29 19:49:20 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 林黛玉被妙玉嫌弃太俗,却不敢反驳,她怼贾宝玉的劲儿哪去了? +2026-05-29 19:49:20 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 魏博没有山川险阻,靠什么屹立150年。甚至长期成为最强藩? +2026-05-29 19:49:20 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 瞎扯 · 如何正确地吐槽 +2026-05-29 19:49:20 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 为什么松鼠的动作总是一顿一顿的?像卡帧一样? +2026-05-29 19:49:20 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 既有 F=ma,又有F=kx,那么物理公式到底要求等号左边是因还是果? +2026-05-29 19:49:20 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 西安唐代城门恢复为何不学洛阳,丹凤门像土黄色纸壳子,明德门像塑料玩具? +2026-05-29 19:49:20 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 瞎扯 · 如何正确地吐槽 +2026-05-29 19:49:20 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 游牧民族几乎没有碳水来源,为什么没有营养不良? +2026-05-29 19:49:20 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 为什么压力单位这么混乱? +2026-05-29 19:49:20 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 为什么会有好奇害死猫这个说法? +2026-05-29 19:49:20 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 瞎扯 · 如何正确地吐槽 +2026-05-29 19:49:20 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 为什么《茶花女》里玛格丽特会欠下那么多债务? +2026-05-29 19:49:20 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 狗鼻子贴地猛吸,为什么不怕把土吸进肺里? +2026-05-29 19:49:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: Harness Engineering 的本质是什么? +2026-05-29 19:49:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 瞎扯 · 如何正确地吐槽 +2026-05-29 19:49:21 [main] INFO c.n.repository.ArticleRepository - 批量添加完成,成功添加20篇文章 +2026-05-29 19:49:21 [main] INFO c.newscrawler.service.CrawlerService - 爬取知乎日报成功,获取20篇文章 +2026-05-29 19:50:31 [com.newscrawler.Main.main()] INFO com.newscrawler.Main - ========== 增强版Java资讯爬虫启动 ========== +2026-05-29 19:52:48 [main] INFO c.newscrawler.service.CrawlerService - 开始爬取单个站点: youth +2026-05-29 19:52:48 [main] INFO c.newscrawler.service.CrawlerService - 开始爬取: 知乎日报 - https://daily.zhihu.com/ +2026-05-29 19:52:48 [main] INFO c.n.strategy.AbstractBaseStrategy - 开始爬取站点: 知乎日报 +2026-05-29 19:52:48 [main] DEBUG c.n.strategy.AbstractBaseStrategy - 第1次尝试获取页面: https://daily.zhihu.com/ +2026-05-29 19:52:49 [main] INFO c.n.strategy.AbstractBaseStrategy - 开始解析知乎日报页面,HTML长度: 12786 +2026-05-29 19:52:49 [main] INFO c.n.strategy.AbstractBaseStrategy - 页面共有 39 个链接 +2026-05-29 19:52:49 [main] INFO c.n.strategy.AbstractBaseStrategy - 初步解析到37条资讯 +2026-05-29 19:52:49 [main] INFO c.n.strategy.AbstractBaseStrategy - 知乎日报最终解析到20条资讯 +2026-05-29 19:52:49 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 浏览内容 +2026-05-29 19:52:49 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: App 下载 +2026-05-29 19:52:49 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 知乎日报 +2026-05-29 19:52:49 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: iOS 版 +2026-05-29 19:52:49 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 为什么人类不能自身合成维生素C? +2026-05-29 19:52:49 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 林黛玉被妙玉嫌弃太俗,却不敢反驳,她怼贾宝玉的劲儿哪去了? +2026-05-29 19:52:49 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 魏博没有山川险阻,靠什么屹立150年。甚至长期成为最强藩? +2026-05-29 19:52:49 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 瞎扯 · 如何正确地吐槽 +2026-05-29 19:52:49 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 为什么松鼠的动作总是一顿一顿的?像卡帧一样? +2026-05-29 19:52:49 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 既有 F=ma,又有F=kx,那么物理公式到底要求等号左边是因还是果? +2026-05-29 19:52:49 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 西安唐代城门恢复为何不学洛阳,丹凤门像土黄色纸壳子,明德门像塑料玩具? +2026-05-29 19:52:49 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 瞎扯 · 如何正确地吐槽 +2026-05-29 19:52:49 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 游牧民族几乎没有碳水来源,为什么没有营养不良? +2026-05-29 19:52:49 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 为什么压力单位这么混乱? +2026-05-29 19:52:49 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 为什么会有好奇害死猫这个说法? +2026-05-29 19:52:49 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 瞎扯 · 如何正确地吐槽 +2026-05-29 19:52:49 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 为什么《茶花女》里玛格丽特会欠下那么多债务? +2026-05-29 19:52:49 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 狗鼻子贴地猛吸,为什么不怕把土吸进肺里? +2026-05-29 19:52:49 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: Harness Engineering 的本质是什么? +2026-05-29 19:52:49 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 瞎扯 · 如何正确地吐槽 +2026-05-29 19:52:49 [main] INFO c.n.repository.ArticleRepository - 批量添加完成,成功添加20篇文章 +2026-05-29 19:52:49 [main] INFO c.newscrawler.service.CrawlerService - 爬取知乎日报成功,获取20篇文章 +2026-05-29 19:53:45 [main] INFO c.newscrawler.service.CrawlerService - 开始爬取单个站点: youth +2026-05-29 19:53:45 [main] INFO c.newscrawler.service.CrawlerService - 开始爬取: 知乎日报 - https://daily.zhihu.com/ +2026-05-29 19:53:45 [main] INFO c.n.strategy.AbstractBaseStrategy - 开始爬取站点: 知乎日报 +2026-05-29 19:53:45 [main] DEBUG c.n.strategy.AbstractBaseStrategy - 第1次尝试获取页面: https://daily.zhihu.com/ +2026-05-29 19:53:45 [main] INFO c.n.strategy.AbstractBaseStrategy - 开始解析知乎日报页面,HTML长度: 12786 +2026-05-29 19:53:45 [main] INFO c.n.strategy.AbstractBaseStrategy - 页面共有 39 个链接 +2026-05-29 19:53:45 [main] INFO c.n.strategy.AbstractBaseStrategy - 初步解析到37条资讯 +2026-05-29 19:53:45 [main] INFO c.n.strategy.AbstractBaseStrategy - 知乎日报最终解析到20条资讯 +2026-05-29 19:53:45 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 浏览内容 +2026-05-29 19:53:45 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: App 下载 +2026-05-29 19:53:45 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 知乎日报 +2026-05-29 19:53:45 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: iOS 版 +2026-05-29 19:53:45 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 为什么人类不能自身合成维生素C? +2026-05-29 19:53:45 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 林黛玉被妙玉嫌弃太俗,却不敢反驳,她怼贾宝玉的劲儿哪去了? +2026-05-29 19:53:45 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 魏博没有山川险阻,靠什么屹立150年。甚至长期成为最强藩? +2026-05-29 19:53:45 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 瞎扯 · 如何正确地吐槽 +2026-05-29 19:53:45 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 为什么松鼠的动作总是一顿一顿的?像卡帧一样? +2026-05-29 19:53:45 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 既有 F=ma,又有F=kx,那么物理公式到底要求等号左边是因还是果? +2026-05-29 19:53:45 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 西安唐代城门恢复为何不学洛阳,丹凤门像土黄色纸壳子,明德门像塑料玩具? +2026-05-29 19:53:45 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 瞎扯 · 如何正确地吐槽 +2026-05-29 19:53:45 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 游牧民族几乎没有碳水来源,为什么没有营养不良? +2026-05-29 19:53:45 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 为什么压力单位这么混乱? +2026-05-29 19:53:45 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 为什么会有好奇害死猫这个说法? +2026-05-29 19:53:45 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 瞎扯 · 如何正确地吐槽 +2026-05-29 19:53:45 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 为什么《茶花女》里玛格丽特会欠下那么多债务? +2026-05-29 19:53:45 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 狗鼻子贴地猛吸,为什么不怕把土吸进肺里? +2026-05-29 19:53:45 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: Harness Engineering 的本质是什么? +2026-05-29 19:53:45 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 瞎扯 · 如何正确地吐槽 +2026-05-29 19:53:45 [main] INFO c.n.repository.ArticleRepository - 批量添加完成,成功添加20篇文章 +2026-05-29 19:53:45 [main] INFO c.newscrawler.service.CrawlerService - 爬取知乎日报成功,获取20篇文章 +2026-05-29 19:55:27 [com.newscrawler.Main.main()] INFO com.newscrawler.Main - ========== 增强版Java资讯爬虫启动 ========== +2026-05-29 19:55:50 [main] INFO c.newscrawler.service.CrawlerService - 开始爬取单个站点: youth +2026-05-29 19:55:50 [main] INFO c.newscrawler.service.CrawlerService - 开始爬取: 知乎日报 - https://daily.zhihu.com/ +2026-05-29 19:55:50 [main] INFO c.n.strategy.AbstractBaseStrategy - 开始爬取站点: 知乎日报 +2026-05-29 19:55:50 [main] DEBUG c.n.strategy.AbstractBaseStrategy - 第1次尝试获取页面: https://daily.zhihu.com/ +2026-05-29 19:55:50 [main] INFO c.n.strategy.AbstractBaseStrategy - 开始解析知乎日报页面,HTML长度: 12786 +2026-05-29 19:55:50 [main] INFO c.n.strategy.AbstractBaseStrategy - 页面共有 39 个链接 +2026-05-29 19:55:50 [main] INFO c.n.strategy.AbstractBaseStrategy - 初步解析到37条资讯 +2026-05-29 19:55:50 [main] INFO c.n.strategy.AbstractBaseStrategy - 知乎日报最终解析到20条资讯 +2026-05-29 19:55:50 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 浏览内容 +2026-05-29 19:55:50 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: App 下载 +2026-05-29 19:55:50 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 知乎日报 +2026-05-29 19:55:50 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: iOS 版 +2026-05-29 19:55:50 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 为什么人类不能自身合成维生素C? +2026-05-29 19:55:50 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 林黛玉被妙玉嫌弃太俗,却不敢反驳,她怼贾宝玉的劲儿哪去了? +2026-05-29 19:55:50 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 魏博没有山川险阻,靠什么屹立150年。甚至长期成为最强藩? +2026-05-29 19:55:50 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 瞎扯 · 如何正确地吐槽 +2026-05-29 19:55:50 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 为什么松鼠的动作总是一顿一顿的?像卡帧一样? +2026-05-29 19:55:50 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 既有 F=ma,又有F=kx,那么物理公式到底要求等号左边是因还是果? +2026-05-29 19:55:50 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 西安唐代城门恢复为何不学洛阳,丹凤门像土黄色纸壳子,明德门像塑料玩具? +2026-05-29 19:55:50 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 瞎扯 · 如何正确地吐槽 +2026-05-29 19:55:50 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 游牧民族几乎没有碳水来源,为什么没有营养不良? +2026-05-29 19:55:50 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 为什么压力单位这么混乱? +2026-05-29 19:55:50 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 为什么会有好奇害死猫这个说法? +2026-05-29 19:55:50 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 瞎扯 · 如何正确地吐槽 +2026-05-29 19:55:50 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 为什么《茶花女》里玛格丽特会欠下那么多债务? +2026-05-29 19:55:50 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 狗鼻子贴地猛吸,为什么不怕把土吸进肺里? +2026-05-29 19:55:50 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: Harness Engineering 的本质是什么? +2026-05-29 19:55:50 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 瞎扯 · 如何正确地吐槽 +2026-05-29 19:55:50 [main] INFO c.n.repository.ArticleRepository - 批量添加完成,成功添加20篇文章 +2026-05-29 19:55:50 [main] INFO c.newscrawler.service.CrawlerService - 爬取知乎日报成功,获取20篇文章 +2026-05-29 19:55:58 [main] INFO c.newscrawler.service.CrawlerService - 开始爬取单个站点: youth +2026-05-29 19:55:58 [main] INFO c.newscrawler.service.CrawlerService - 开始爬取: 知乎日报 - https://daily.zhihu.com/ +2026-05-29 19:55:58 [main] INFO c.n.strategy.AbstractBaseStrategy - 开始爬取站点: 知乎日报 +2026-05-29 19:55:58 [main] DEBUG c.n.strategy.AbstractBaseStrategy - 第1次尝试获取页面: https://daily.zhihu.com/ +2026-05-29 19:55:59 [main] INFO c.n.strategy.AbstractBaseStrategy - 开始解析知乎日报页面,HTML长度: 12786 +2026-05-29 19:55:59 [main] INFO c.n.strategy.AbstractBaseStrategy - 页面共有 39 个链接 +2026-05-29 19:55:59 [main] INFO c.n.strategy.AbstractBaseStrategy - 初步解析到37条资讯 +2026-05-29 19:55:59 [main] INFO c.n.strategy.AbstractBaseStrategy - 知乎日报最终解析到20条资讯 +2026-05-29 19:55:59 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 浏览内容 +2026-05-29 19:55:59 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: App 下载 +2026-05-29 19:55:59 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 知乎日报 +2026-05-29 19:55:59 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: iOS 版 +2026-05-29 19:55:59 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 为什么人类不能自身合成维生素C? +2026-05-29 19:55:59 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 林黛玉被妙玉嫌弃太俗,却不敢反驳,她怼贾宝玉的劲儿哪去了? +2026-05-29 19:55:59 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 魏博没有山川险阻,靠什么屹立150年。甚至长期成为最强藩? +2026-05-29 19:55:59 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 瞎扯 · 如何正确地吐槽 +2026-05-29 19:55:59 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 为什么松鼠的动作总是一顿一顿的?像卡帧一样? +2026-05-29 19:55:59 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 既有 F=ma,又有F=kx,那么物理公式到底要求等号左边是因还是果? +2026-05-29 19:55:59 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 西安唐代城门恢复为何不学洛阳,丹凤门像土黄色纸壳子,明德门像塑料玩具? +2026-05-29 19:55:59 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 瞎扯 · 如何正确地吐槽 +2026-05-29 19:55:59 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 游牧民族几乎没有碳水来源,为什么没有营养不良? +2026-05-29 19:55:59 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 为什么压力单位这么混乱? +2026-05-29 19:55:59 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 为什么会有好奇害死猫这个说法? +2026-05-29 19:55:59 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 瞎扯 · 如何正确地吐槽 +2026-05-29 19:55:59 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 为什么《茶花女》里玛格丽特会欠下那么多债务? +2026-05-29 19:55:59 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 狗鼻子贴地猛吸,为什么不怕把土吸进肺里? +2026-05-29 19:55:59 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: Harness Engineering 的本质是什么? +2026-05-29 19:55:59 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 瞎扯 · 如何正确地吐槽 +2026-05-29 19:55:59 [main] INFO c.n.repository.ArticleRepository - 批量添加完成,成功添加20篇文章 +2026-05-29 19:55:59 [main] INFO c.newscrawler.service.CrawlerService - 爬取知乎日报成功,获取20篇文章 +2026-05-29 19:58:43 [main] INFO com.newscrawler.Main - ========== 增强版Java资讯爬虫启动 ========== +2026-05-29 20:00:47 [com.newscrawler.Main.main()] INFO com.newscrawler.Main - ========== 增强版Java资讯爬虫启动 ========== +2026-05-29 21:55:52 [main] INFO c.newscrawler.service.CrawlerService - 开始爬取单个站点: youth +2026-05-29 21:55:52 [main] INFO c.newscrawler.service.CrawlerService - 开始爬取: 知乎日报 - https://daily.zhihu.com/ +2026-05-29 21:55:52 [main] INFO c.n.strategy.AbstractBaseStrategy - 开始爬取站点: 知乎日报 +2026-05-29 21:55:52 [main] DEBUG c.n.strategy.AbstractBaseStrategy - 第1次尝试获取页面: https://daily.zhihu.com/ +2026-05-29 21:55:53 [main] INFO c.n.strategy.AbstractBaseStrategy - 开始解析知乎日报页面,HTML长度: 12786 +2026-05-29 21:55:53 [main] INFO c.n.strategy.AbstractBaseStrategy - 页面共有 39 个链接 +2026-05-29 21:55:53 [main] INFO c.n.strategy.AbstractBaseStrategy - 初步解析到37条资讯 +2026-05-29 21:55:53 [main] INFO c.n.strategy.AbstractBaseStrategy - 知乎日报最终解析到20条资讯 +2026-05-29 21:55:53 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 浏览内容 +2026-05-29 21:55:53 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: App 下载 +2026-05-29 21:55:53 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 知乎日报 +2026-05-29 21:55:53 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: iOS 版 +2026-05-29 21:55:53 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 为什么人类不能自身合成维生素C? +2026-05-29 21:55:53 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 林黛玉被妙玉嫌弃太俗,却不敢反驳,她怼贾宝玉的劲儿哪去了? +2026-05-29 21:55:53 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 魏博没有山川险阻,靠什么屹立150年。甚至长期成为最强藩? +2026-05-29 21:55:53 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 瞎扯 · 如何正确地吐槽 +2026-05-29 21:55:53 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 为什么松鼠的动作总是一顿一顿的?像卡帧一样? +2026-05-29 21:55:53 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 既有 F=ma,又有F=kx,那么物理公式到底要求等号左边是因还是果? +2026-05-29 21:55:53 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 西安唐代城门恢复为何不学洛阳,丹凤门像土黄色纸壳子,明德门像塑料玩具? +2026-05-29 21:55:53 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 瞎扯 · 如何正确地吐槽 +2026-05-29 21:55:53 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 游牧民族几乎没有碳水来源,为什么没有营养不良? +2026-05-29 21:55:53 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 为什么压力单位这么混乱? +2026-05-29 21:55:53 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 为什么会有好奇害死猫这个说法? +2026-05-29 21:55:53 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 瞎扯 · 如何正确地吐槽 +2026-05-29 21:55:53 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 为什么《茶花女》里玛格丽特会欠下那么多债务? +2026-05-29 21:55:53 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 狗鼻子贴地猛吸,为什么不怕把土吸进肺里? +2026-05-29 21:55:53 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: Harness Engineering 的本质是什么? +2026-05-29 21:55:53 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 瞎扯 · 如何正确地吐槽 +2026-05-29 21:55:53 [main] INFO c.n.repository.ArticleRepository - 批量添加完成,成功添加20篇文章 +2026-05-29 21:55:53 [main] INFO c.newscrawler.service.CrawlerService - 爬取知乎日报成功,获取20篇文章 +2026-05-29 21:56:05 [main] INFO c.newscrawler.service.CrawlerService - 开始爬取单个站点: youth +2026-05-29 21:56:05 [main] INFO c.newscrawler.service.CrawlerService - 开始爬取: 知乎日报 - https://daily.zhihu.com/ +2026-05-29 21:56:05 [main] INFO c.n.strategy.AbstractBaseStrategy - 开始爬取站点: 知乎日报 +2026-05-29 21:56:05 [main] DEBUG c.n.strategy.AbstractBaseStrategy - 第1次尝试获取页面: https://daily.zhihu.com/ +2026-05-29 21:56:05 [main] INFO c.n.strategy.AbstractBaseStrategy - 开始解析知乎日报页面,HTML长度: 12786 +2026-05-29 21:56:05 [main] INFO c.n.strategy.AbstractBaseStrategy - 页面共有 39 个链接 +2026-05-29 21:56:05 [main] INFO c.n.strategy.AbstractBaseStrategy - 初步解析到37条资讯 +2026-05-29 21:56:05 [main] INFO c.n.strategy.AbstractBaseStrategy - 知乎日报最终解析到20条资讯 +2026-05-29 21:56:05 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 浏览内容 +2026-05-29 21:56:05 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: App 下载 +2026-05-29 21:56:05 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 知乎日报 +2026-05-29 21:56:05 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: iOS 版 +2026-05-29 21:56:05 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 为什么人类不能自身合成维生素C? +2026-05-29 21:56:05 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 林黛玉被妙玉嫌弃太俗,却不敢反驳,她怼贾宝玉的劲儿哪去了? +2026-05-29 21:56:05 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 魏博没有山川险阻,靠什么屹立150年。甚至长期成为最强藩? +2026-05-29 21:56:05 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 瞎扯 · 如何正确地吐槽 +2026-05-29 21:56:05 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 为什么松鼠的动作总是一顿一顿的?像卡帧一样? +2026-05-29 21:56:05 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 既有 F=ma,又有F=kx,那么物理公式到底要求等号左边是因还是果? +2026-05-29 21:56:05 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 西安唐代城门恢复为何不学洛阳,丹凤门像土黄色纸壳子,明德门像塑料玩具? +2026-05-29 21:56:05 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 瞎扯 · 如何正确地吐槽 +2026-05-29 21:56:05 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 游牧民族几乎没有碳水来源,为什么没有营养不良? +2026-05-29 21:56:05 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 为什么压力单位这么混乱? +2026-05-29 21:56:05 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 为什么会有好奇害死猫这个说法? +2026-05-29 21:56:05 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 瞎扯 · 如何正确地吐槽 +2026-05-29 21:56:05 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 为什么《茶花女》里玛格丽特会欠下那么多债务? +2026-05-29 21:56:05 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 狗鼻子贴地猛吸,为什么不怕把土吸进肺里? +2026-05-29 21:56:05 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: Harness Engineering 的本质是什么? +2026-05-29 21:56:05 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 瞎扯 · 如何正确地吐槽 +2026-05-29 21:56:05 [main] INFO c.n.repository.ArticleRepository - 批量添加完成,成功添加20篇文章 +2026-05-29 21:56:05 [main] INFO c.newscrawler.service.CrawlerService - 爬取知乎日报成功,获取20篇文章 +2026-05-29 21:56:11 [main] INFO c.n.repository.ArticleRepository - 开始搜索关键词: ������, 仓库共有17篇文章 +2026-05-29 21:56:11 [main] INFO c.n.repository.ArticleRepository - 搜索完成,找到0篇文章 +2026-05-29 22:00:54 [main] INFO com.newscrawler.Main - ========== 增强版Java资讯爬虫启动 ========== +2026-05-29 22:00:58 [main] INFO c.newscrawler.service.CrawlerService - 开始爬取单个站点: youth +2026-05-29 22:00:58 [main] INFO c.newscrawler.service.CrawlerService - 开始爬取: 知乎日报 - https://daily.zhihu.com/ +2026-05-29 22:00:58 [main] INFO c.n.strategy.AbstractBaseStrategy - 开始爬取站点: 知乎日报 +2026-05-29 22:00:58 [main] DEBUG c.n.strategy.AbstractBaseStrategy - 第1次尝试获取页面: https://daily.zhihu.com/ +2026-05-29 22:00:59 [main] INFO c.n.strategy.AbstractBaseStrategy - 开始解析知乎日报页面,HTML长度: 12786 +2026-05-29 22:00:59 [main] INFO c.n.strategy.AbstractBaseStrategy - 页面共有 39 个链接 +2026-05-29 22:00:59 [main] INFO c.n.strategy.AbstractBaseStrategy - 初步解析到37条资讯 +2026-05-29 22:00:59 [main] INFO c.n.strategy.AbstractBaseStrategy - 知乎日报最终解析到20条资讯 +2026-05-29 22:00:59 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 浏览内容 +2026-05-29 22:00:59 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: App 下载 +2026-05-29 22:00:59 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 知乎日报 +2026-05-29 22:00:59 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: iOS 版 +2026-05-29 22:00:59 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 为什么人类不能自身合成维生素C? +2026-05-29 22:00:59 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 林黛玉被妙玉嫌弃太俗,却不敢反驳,她怼贾宝玉的劲儿哪去了? +2026-05-29 22:00:59 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 魏博没有山川险阻,靠什么屹立150年。甚至长期成为最强藩? +2026-05-29 22:00:59 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 瞎扯 · 如何正确地吐槽 +2026-05-29 22:00:59 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 为什么松鼠的动作总是一顿一顿的?像卡帧一样? +2026-05-29 22:00:59 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 既有 F=ma,又有F=kx,那么物理公式到底要求等号左边是因还是果? +2026-05-29 22:00:59 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 西安唐代城门恢复为何不学洛阳,丹凤门像土黄色纸壳子,明德门像塑料玩具? +2026-05-29 22:00:59 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 瞎扯 · 如何正确地吐槽 +2026-05-29 22:00:59 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 游牧民族几乎没有碳水来源,为什么没有营养不良? +2026-05-29 22:00:59 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 为什么压力单位这么混乱? +2026-05-29 22:00:59 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 为什么会有好奇害死猫这个说法? +2026-05-29 22:00:59 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 瞎扯 · 如何正确地吐槽 +2026-05-29 22:00:59 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 为什么《茶花女》里玛格丽特会欠下那么多债务? +2026-05-29 22:00:59 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 狗鼻子贴地猛吸,为什么不怕把土吸进肺里? +2026-05-29 22:00:59 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: Harness Engineering 的本质是什么? +2026-05-29 22:00:59 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 瞎扯 · 如何正确地吐槽 +2026-05-29 22:00:59 [main] INFO c.n.repository.ArticleRepository - 批量添加完成,成功添加20篇文章 +2026-05-29 22:00:59 [main] INFO c.newscrawler.service.CrawlerService - 爬取知乎日报成功,获取20篇文章 +2026-05-29 22:06:43 [main] INFO com.newscrawler.Main - ========== 增强版Java资讯爬虫启动 ========== +2026-05-29 22:06:54 [main] INFO c.newscrawler.service.CrawlerService - 开始爬取单个站点: youth +2026-05-29 22:06:54 [main] INFO c.newscrawler.service.CrawlerService - 开始爬取: 知乎日报 - https://daily.zhihu.com/ +2026-05-29 22:06:54 [main] INFO c.n.strategy.AbstractBaseStrategy - 开始爬取站点: 知乎日报 +2026-05-29 22:06:54 [main] DEBUG c.n.strategy.AbstractBaseStrategy - 第1次尝试获取页面: https://daily.zhihu.com/ +2026-05-29 22:06:55 [main] INFO c.n.strategy.AbstractBaseStrategy - 开始解析知乎日报页面,HTML长度: 12786 +2026-05-29 22:06:55 [main] INFO c.n.strategy.AbstractBaseStrategy - 页面共有 39 个链接 +2026-05-29 22:06:55 [main] INFO c.n.strategy.AbstractBaseStrategy - 初步解析到37条资讯 +2026-05-29 22:06:55 [main] INFO c.n.strategy.AbstractBaseStrategy - 知乎日报最终解析到20条资讯 +2026-05-29 22:06:55 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 浏览内容 +2026-05-29 22:06:55 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: App 下载 +2026-05-29 22:06:55 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 知乎日报 +2026-05-29 22:06:55 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: iOS 版 +2026-05-29 22:06:55 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 为什么人类不能自身合成维生素C? +2026-05-29 22:06:55 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 林黛玉被妙玉嫌弃太俗,却不敢反驳,她怼贾宝玉的劲儿哪去了? +2026-05-29 22:06:55 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 魏博没有山川险阻,靠什么屹立150年。甚至长期成为最强藩? +2026-05-29 22:06:55 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 瞎扯 · 如何正确地吐槽 +2026-05-29 22:06:55 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 为什么松鼠的动作总是一顿一顿的?像卡帧一样? +2026-05-29 22:06:55 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 既有 F=ma,又有F=kx,那么物理公式到底要求等号左边是因还是果? +2026-05-29 22:06:55 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 西安唐代城门恢复为何不学洛阳,丹凤门像土黄色纸壳子,明德门像塑料玩具? +2026-05-29 22:06:55 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 瞎扯 · 如何正确地吐槽 +2026-05-29 22:06:55 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 游牧民族几乎没有碳水来源,为什么没有营养不良? +2026-05-29 22:06:55 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 为什么压力单位这么混乱? +2026-05-29 22:06:55 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 为什么会有好奇害死猫这个说法? +2026-05-29 22:06:55 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 瞎扯 · 如何正确地吐槽 +2026-05-29 22:06:55 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 为什么《茶花女》里玛格丽特会欠下那么多债务? +2026-05-29 22:06:55 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 狗鼻子贴地猛吸,为什么不怕把土吸进肺里? +2026-05-29 22:06:55 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: Harness Engineering 的本质是什么? +2026-05-29 22:06:55 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 瞎扯 · 如何正确地吐槽 +2026-05-29 22:06:55 [main] INFO c.n.repository.ArticleRepository - 批量添加完成,成功添加20篇文章 +2026-05-29 22:06:55 [main] INFO c.newscrawler.service.CrawlerService - 爬取知乎日报成功,获取20篇文章 +2026-05-29 22:07:03 [main] INFO com.newscrawler.util.JsonUtil - 成功导出17篇文章到data\articles_20260529_220703.json +2026-05-29 22:21:32 [main] INFO c.newscrawler.service.CrawlerService - 开始爬取单个站点: youth +2026-05-29 22:21:32 [main] INFO c.newscrawler.service.CrawlerService - 开始爬取: 知乎日报 - https://daily.zhihu.com/ +2026-05-29 22:21:32 [main] INFO c.n.strategy.AbstractBaseStrategy - 开始爬取站点: 知乎日报 +2026-05-29 22:21:32 [main] DEBUG c.n.strategy.AbstractBaseStrategy - 第1次尝试获取页面: https://daily.zhihu.com/ +2026-05-29 22:21:33 [main] INFO c.n.strategy.AbstractBaseStrategy - 开始解析知乎日报页面,HTML长度: 12786 +2026-05-29 22:21:33 [main] INFO c.n.strategy.AbstractBaseStrategy - 页面共有 39 个链接 +2026-05-29 22:21:33 [main] INFO c.n.strategy.AbstractBaseStrategy - 初步解析到37条资讯 +2026-05-29 22:21:33 [main] INFO c.n.strategy.AbstractBaseStrategy - 知乎日报最终解析到20条资讯 +2026-05-29 22:21:33 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 浏览内容 +2026-05-29 22:21:33 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: App 下载 +2026-05-29 22:21:33 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 知乎日报 +2026-05-29 22:21:33 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: iOS 版 +2026-05-29 22:21:33 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 为什么人类不能自身合成维生素C? +2026-05-29 22:21:33 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 林黛玉被妙玉嫌弃太俗,却不敢反驳,她怼贾宝玉的劲儿哪去了? +2026-05-29 22:21:33 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 魏博没有山川险阻,靠什么屹立150年。甚至长期成为最强藩? +2026-05-29 22:21:33 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 瞎扯 · 如何正确地吐槽 +2026-05-29 22:21:33 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 为什么松鼠的动作总是一顿一顿的?像卡帧一样? +2026-05-29 22:21:33 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 既有 F=ma,又有F=kx,那么物理公式到底要求等号左边是因还是果? +2026-05-29 22:21:33 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 西安唐代城门恢复为何不学洛阳,丹凤门像土黄色纸壳子,明德门像塑料玩具? +2026-05-29 22:21:33 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 瞎扯 · 如何正确地吐槽 +2026-05-29 22:21:33 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 游牧民族几乎没有碳水来源,为什么没有营养不良? +2026-05-29 22:21:33 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 为什么压力单位这么混乱? +2026-05-29 22:21:33 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 为什么会有好奇害死猫这个说法? +2026-05-29 22:21:33 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 瞎扯 · 如何正确地吐槽 +2026-05-29 22:21:33 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 为什么《茶花女》里玛格丽特会欠下那么多债务? +2026-05-29 22:21:33 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 狗鼻子贴地猛吸,为什么不怕把土吸进肺里? +2026-05-29 22:21:33 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: Harness Engineering 的本质是什么? +2026-05-29 22:21:33 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 瞎扯 · 如何正确地吐槽 +2026-05-29 22:21:33 [main] INFO c.n.repository.ArticleRepository - 批量添加完成,成功添加20篇文章 +2026-05-29 22:21:33 [main] INFO c.newscrawler.service.CrawlerService - 爬取知乎日报成功,获取20篇文章 +2026-05-29 22:21:44 [main] INFO com.newscrawler.util.JsonUtil - 成功导出17篇文章到data\articles_20260529_222144.json +2026-05-29 22:24:58 [main] INFO c.newscrawler.service.CrawlerService - 开始爬取单个站点: youth +2026-05-29 22:24:58 [main] INFO c.newscrawler.service.CrawlerService - 开始爬取: 知乎日报 - https://daily.zhihu.com/ +2026-05-29 22:24:58 [main] INFO c.n.strategy.AbstractBaseStrategy - 开始爬取站点: 知乎日报 +2026-05-29 22:24:58 [main] DEBUG c.n.strategy.AbstractBaseStrategy - 第1次尝试获取页面: https://daily.zhihu.com/ +2026-05-29 22:24:59 [main] INFO c.n.strategy.AbstractBaseStrategy - 开始解析知乎日报页面,HTML长度: 12786 +2026-05-29 22:24:59 [main] INFO c.n.strategy.AbstractBaseStrategy - 页面共有 39 个链接 +2026-05-29 22:24:59 [main] INFO c.n.strategy.AbstractBaseStrategy - 初步解析到37条资讯 +2026-05-29 22:24:59 [main] INFO c.n.strategy.AbstractBaseStrategy - 知乎日报最终解析到20条资讯 +2026-05-29 22:24:59 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 浏览内容 +2026-05-29 22:24:59 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: App 下载 +2026-05-29 22:24:59 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 知乎日报 +2026-05-29 22:24:59 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: iOS 版 +2026-05-29 22:24:59 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 为什么人类不能自身合成维生素C? +2026-05-29 22:24:59 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 林黛玉被妙玉嫌弃太俗,却不敢反驳,她怼贾宝玉的劲儿哪去了? +2026-05-29 22:24:59 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 魏博没有山川险阻,靠什么屹立150年。甚至长期成为最强藩? +2026-05-29 22:24:59 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 瞎扯 · 如何正确地吐槽 +2026-05-29 22:24:59 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 为什么松鼠的动作总是一顿一顿的?像卡帧一样? +2026-05-29 22:24:59 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 既有 F=ma,又有F=kx,那么物理公式到底要求等号左边是因还是果? +2026-05-29 22:24:59 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 西安唐代城门恢复为何不学洛阳,丹凤门像土黄色纸壳子,明德门像塑料玩具? +2026-05-29 22:24:59 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 瞎扯 · 如何正确地吐槽 +2026-05-29 22:24:59 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 游牧民族几乎没有碳水来源,为什么没有营养不良? +2026-05-29 22:24:59 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 为什么压力单位这么混乱? +2026-05-29 22:24:59 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 为什么会有好奇害死猫这个说法? +2026-05-29 22:24:59 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 瞎扯 · 如何正确地吐槽 +2026-05-29 22:24:59 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 为什么《茶花女》里玛格丽特会欠下那么多债务? +2026-05-29 22:24:59 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 狗鼻子贴地猛吸,为什么不怕把土吸进肺里? +2026-05-29 22:24:59 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: Harness Engineering 的本质是什么? +2026-05-29 22:24:59 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 瞎扯 · 如何正确地吐槽 +2026-05-29 22:24:59 [main] INFO c.n.repository.ArticleRepository - 批量添加完成,成功添加20篇文章 +2026-05-29 22:24:59 [main] INFO c.newscrawler.service.CrawlerService - 爬取知乎日报成功,获取20篇文章 +2026-05-29 22:25:58 [main] INFO c.newscrawler.service.CrawlerService - 开始爬取单个站点: youth +2026-05-29 22:25:58 [main] INFO c.newscrawler.service.CrawlerService - 开始爬取: 知乎日报 - https://daily.zhihu.com/ +2026-05-29 22:25:58 [main] INFO c.n.strategy.AbstractBaseStrategy - 开始爬取站点: 知乎日报 +2026-05-29 22:25:58 [main] DEBUG c.n.strategy.AbstractBaseStrategy - 第1次尝试获取页面: https://daily.zhihu.com/ +2026-05-29 22:25:58 [main] INFO c.n.strategy.AbstractBaseStrategy - 开始解析知乎日报页面,HTML长度: 12786 +2026-05-29 22:25:58 [main] INFO c.n.strategy.AbstractBaseStrategy - 页面共有 39 个链接 +2026-05-29 22:25:58 [main] INFO c.n.strategy.AbstractBaseStrategy - 初步解析到37条资讯 +2026-05-29 22:25:58 [main] INFO c.n.strategy.AbstractBaseStrategy - 知乎日报最终解析到20条资讯 +2026-05-29 22:25:58 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 浏览内容 +2026-05-29 22:25:58 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: App 下载 +2026-05-29 22:25:58 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 知乎日报 +2026-05-29 22:25:58 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: iOS 版 +2026-05-29 22:25:58 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 为什么人类不能自身合成维生素C? +2026-05-29 22:25:58 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 林黛玉被妙玉嫌弃太俗,却不敢反驳,她怼贾宝玉的劲儿哪去了? +2026-05-29 22:25:58 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 魏博没有山川险阻,靠什么屹立150年。甚至长期成为最强藩? +2026-05-29 22:25:58 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 瞎扯 · 如何正确地吐槽 +2026-05-29 22:25:58 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 为什么松鼠的动作总是一顿一顿的?像卡帧一样? +2026-05-29 22:25:58 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 既有 F=ma,又有F=kx,那么物理公式到底要求等号左边是因还是果? +2026-05-29 22:25:58 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 西安唐代城门恢复为何不学洛阳,丹凤门像土黄色纸壳子,明德门像塑料玩具? +2026-05-29 22:25:58 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 瞎扯 · 如何正确地吐槽 +2026-05-29 22:25:58 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 游牧民族几乎没有碳水来源,为什么没有营养不良? +2026-05-29 22:25:58 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 为什么压力单位这么混乱? +2026-05-29 22:25:58 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 为什么会有好奇害死猫这个说法? +2026-05-29 22:25:58 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 瞎扯 · 如何正确地吐槽 +2026-05-29 22:25:58 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 为什么《茶花女》里玛格丽特会欠下那么多债务? +2026-05-29 22:25:58 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 狗鼻子贴地猛吸,为什么不怕把土吸进肺里? +2026-05-29 22:25:58 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: Harness Engineering 的本质是什么? +2026-05-29 22:25:58 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 瞎扯 · 如何正确地吐槽 +2026-05-29 22:25:58 [main] INFO c.n.repository.ArticleRepository - 批量添加完成,成功添加20篇文章 +2026-05-29 22:25:58 [main] INFO c.newscrawler.service.CrawlerService - 爬取知乎日报成功,获取20篇文章 +2026-05-29 22:26:05 [main] INFO com.newscrawler.util.JsonUtil - 成功导出17篇文章到data\articles_20260529_222605.json +2026-05-29 22:28:18 [main] INFO c.newscrawler.service.CrawlerService - 开始爬取单个站点: youth +2026-05-29 22:28:18 [main] INFO c.newscrawler.service.CrawlerService - 开始爬取: 知乎日报 - https://daily.zhihu.com/ +2026-05-29 22:28:18 [main] INFO c.n.strategy.AbstractBaseStrategy - 开始爬取站点: 知乎日报 +2026-05-29 22:28:18 [main] DEBUG c.n.strategy.AbstractBaseStrategy - 第1次尝试获取页面: https://daily.zhihu.com/ +2026-05-29 22:28:18 [main] INFO c.n.strategy.AbstractBaseStrategy - 开始解析知乎日报页面,HTML长度: 12786 +2026-05-29 22:28:18 [main] INFO c.n.strategy.AbstractBaseStrategy - 页面共有 39 个链接 +2026-05-29 22:28:18 [main] INFO c.n.strategy.AbstractBaseStrategy - 初步解析到37条资讯 +2026-05-29 22:28:18 [main] INFO c.n.strategy.AbstractBaseStrategy - 知乎日报最终解析到20条资讯 +2026-05-29 22:28:18 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 浏览内容 +2026-05-29 22:28:18 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: App 下载 +2026-05-29 22:28:18 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 知乎日报 +2026-05-29 22:28:18 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: iOS 版 +2026-05-29 22:28:18 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 为什么人类不能自身合成维生素C? +2026-05-29 22:28:18 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 林黛玉被妙玉嫌弃太俗,却不敢反驳,她怼贾宝玉的劲儿哪去了? +2026-05-29 22:28:18 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 魏博没有山川险阻,靠什么屹立150年。甚至长期成为最强藩? +2026-05-29 22:28:18 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 瞎扯 · 如何正确地吐槽 +2026-05-29 22:28:18 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 为什么松鼠的动作总是一顿一顿的?像卡帧一样? +2026-05-29 22:28:18 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 既有 F=ma,又有F=kx,那么物理公式到底要求等号左边是因还是果? +2026-05-29 22:28:18 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 西安唐代城门恢复为何不学洛阳,丹凤门像土黄色纸壳子,明德门像塑料玩具? +2026-05-29 22:28:18 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 瞎扯 · 如何正确地吐槽 +2026-05-29 22:28:18 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 游牧民族几乎没有碳水来源,为什么没有营养不良? +2026-05-29 22:28:18 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 为什么压力单位这么混乱? +2026-05-29 22:28:18 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 为什么会有好奇害死猫这个说法? +2026-05-29 22:28:18 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 瞎扯 · 如何正确地吐槽 +2026-05-29 22:28:18 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 为什么《茶花女》里玛格丽特会欠下那么多债务? +2026-05-29 22:28:18 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 狗鼻子贴地猛吸,为什么不怕把土吸进肺里? +2026-05-29 22:28:18 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: Harness Engineering 的本质是什么? +2026-05-29 22:28:18 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 瞎扯 · 如何正确地吐槽 +2026-05-29 22:28:18 [main] INFO c.n.repository.ArticleRepository - 批量添加完成,成功添加20篇文章 +2026-05-29 22:28:18 [main] INFO c.newscrawler.service.CrawlerService - 爬取知乎日报成功,获取20篇文章 +2026-05-29 22:28:22 [main] INFO com.newscrawler.util.JsonUtil - 成功导出17篇文章到data\articles_20260529_222822.json +2026-05-29 22:34:45 [com.newscrawler.Main.main()] INFO com.newscrawler.Main - ========== 增强版Java资讯爬虫启动 ========== +2026-05-29 22:36:27 [main] INFO c.newscrawler.service.CrawlerService - 开始爬取单个站点: runoob +2026-05-29 22:36:27 [main] INFO c.newscrawler.service.CrawlerService - 开始爬取: 菜鸟教程资讯 - https://www.runoob.com/ +2026-05-29 22:36:27 [main] INFO c.n.strategy.AbstractBaseStrategy - 开始爬取站点: 菜鸟教程资讯 +2026-05-29 22:36:27 [main] DEBUG c.n.strategy.AbstractBaseStrategy - 第1次尝试获取页面: https://www.runoob.com/ +2026-05-29 22:36:27 [main] INFO c.n.strategy.AbstractBaseStrategy - 菜鸟教程解析到179条资讯 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 菜鸟教程 -- 学的不仅是技术,更是梦想! +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: HTML 手册 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: Javascript +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: CSS 1,2,3 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: Zepto 中文手册 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: Flat UI +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: PostgreSQL 手册 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: HTML 测验 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: HTML5 测验 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: XHTML 测验 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: CSS 测验 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: jQuery 测验 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: XML 测验 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: ASP 测验 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: PHP 测验 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: SQL 测验 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: Python 测验 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Python】 Python3 是当前主流 Python 版本。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Python2.x】 Python 经典版本。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 FastAPI】 现代高性能 Python API 框架。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Flask】 轻量级 Python Web 应用框架。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Django】 全功能 Python Web 开发框架。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 NumPy】 Python 科学计算核心库。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Pandas】 Python 数据分析核心库。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 SciPy】 Python 数学与科学计算工具包。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Matplotlib】 Python 数据可视化绘图库。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Dash】 Python 数据分析与可视化 Web 框架。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Jupyter Notebook】 交互式数据分析与计算工具。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Pillow】 Python 图像处理库。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【量化交易】 利用程序化策略进行金融交易。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 R】 用于统计分析与数据科学的编程语言。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Julia】 面向科学计算的高性能语言。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【AI Agent(智能体)】 AI Agent 让模型不只回答问题,而是按步骤完成动作。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【Skills(技能)】 Skills 让智能体具备特定能力与工作流。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【Codex 教程】 OpenAI 推出的 AI 编程协作工具。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【Claude Code】 Anthropic 推出的 AI 编程协作工具。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【OpenCode】 开源 AI 编程协作工具。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Ollama】 开源本地大语言模型运行框架。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 TensorFlow】 TensorFlow 是一个开源机器学习框架。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 PyTorch】 PyTorch 是一个开源机器学习框架。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Scikit-learn】 Scikit-learn 是一个开源机器学习库。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【机器学习】 机器学习是让机器通过数据进行预测与决策。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【LangChain】 用于构建基于大语言模型的应用程序的框架。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【自然语言处理 NLP】 自然语言处理是人工智能与语言学的交叉领域。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 OpenCV】 开源计算机视觉与机器学习软件库。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Selenium】 自动化 Web 浏览器操作工具。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Playwright】 现代 Web 自动化与端到端测试框架。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 HTML】 HTML 是网页的标准标记语言。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 HTML5】 下一代 HTML 标准。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 CSS】 网页样式与布局语言。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 CSS3】 CSS3 是 CSS 技术升级版本。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 JavaScript】 Web 核心编程语言。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 HTML DOM】 HTML DOM 定义了访问和操作 HTML 文档的标准方法。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 TypeScript】 JavaScript 的超集语言。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 AJAX】 异步 Web 数据交互技术。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 JSON】 数据交换标准格式。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Tailwind CSS】 实用优先 CSS 框架。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Bootstrap4】 经典响应式前端框架。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Bootstrap5】 最新 Bootstrap 前端框架。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Foundation】 响应式 HTML、CSS 与 JavaScript 框架。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Vue.js】 渐进式前端框架。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Vue3】 新一代 Vue 前端框架。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 React】 用于构建 UI 的 JavaScript 库。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Next.js】 基于 React 的全栈框架。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 AngularJS】 Google 推出的经典前端框架。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Angular】 现代 Angular 前端框架。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 jQuery】 经典 JavaScript 工具库。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 jQuery UI】 基于 jQuery 的 UI 组件库。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 jQuery EasyUI】 基于 jQuery 的 UI 框架。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 ECharts】 开源数据可视化图表库。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Chart.js】 轻量级 JavaScript 图表库。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Highcharts】 高级交互式图表库。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Google 地图】 Google Maps API 使用教程。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 SVG】 基于 XML 的矢量图格式。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Font Awesome】 流行图标字体库。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Node.js】 服务端 JavaScript 运行环境。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Electron】 基于 Web 技术开发跨平台桌面应用。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 PHP】 经典 Web 服务端语言。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Java】 企业级开发主流语言。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Go】 Google 推出的现代服务端语言。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Rust】 高性能系统级编程语言。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 C#】 .NET 核心开发语言。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Servlet】 Java Web 服务端技术。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 JSP】 Java 服务端页面技术。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 ASP】 经典动态服务器页面技术。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 AppML】 轻量级 Web 应用框架。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 VBScript】 微软经典脚本语言。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Swagger】 API 文档与测试工具。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 RESTful API】 现代 API 设计规范。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Docker】 容器化应用部署平台。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Linux】 主流服务器操作系统。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 ZooKeeper】 分布式协调服务。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 SQL】 结构化查询语言。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 MySQL】 流行关系型数据库。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 PostgreSQL】 高级开源关系型数据库。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 SQLite】 轻量级嵌入式数据库。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 MongoDB】 主流 NoSQL 数据库。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Redis】 高性能内存数据库。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Memcached】 分布式缓存系统。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Android】 Android 移动开发平台。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Flutter】 Google 跨平台 UI 框架。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Ionic】 HTML5 混合移动开发框架。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 jQuery Mobile】 移动端 Web UI 框架。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Swift】 Apple 官方开发语言。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Kotlin】 Android 官方开发语言。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Git】 分布式版本控制系统。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 SVN】 集中式版本控制系统。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 CMake】 跨平台构建工具。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Maven】 Java 项目构建工具。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 VS Code】 现代代码编辑器。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Obsidian】 现代化笔记应用。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 PyCharm】 Python 专业 IDE。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Eclipse】 经典 Java IDE。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Markdown】 轻量级标记语言。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 C】 经典系统级编程语言。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 C++】 高性能通用编程语言。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Zig】 现代系统级编程语言。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Scala】 运行于 JVM 的多范式语言。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Ruby】 优雅简洁的脚本语言。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Perl】 经典文本处理语言。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Lua】 轻量级嵌入式脚本语言。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习汇编语言】 面向硬件的低级语言。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Verilog】 数字电路硬件描述语言。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【数据结构与算法】 计算机核心基础知识。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【设计模式】 经典软件设计思想。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【Python 设计模式】 Python 面向对象设计实践。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【正则表达式】 字符串匹配与文本处理。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 HTTP】 Web 通信协议。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 TCP/IP】 互联网通信协议族。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【网络协议】 计算机网络通信规则。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 W3C】 Web 标准组织。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 XML】 数据交换与存储格式。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 DTD】 XML 文档类型定义。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 XML DOM】 XML 文档操作标准。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 XSLT】 XML 转换语言。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 XPath】 XML 节点查询语言。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 XQuery】 XML 查询语言。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 XLink】 XML 超链接标准。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 XPointer】 XML 数据定位语言。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 XML Schema】 XML 文档结构定义。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 XSL-FO】 XML 格式化对象语言。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Web Service】 基于网络的服务接口技术。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 WSDL】 Web Service 描述语言。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 SOAP】 基于 XML 的通信协议。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 RSS】 内容聚合订阅协议。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 RDF】 资源描述框架。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 ASP.NET】 .NET Web 开发框架。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 MVC】 MVC 架构模式。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Razor】 .NET 模板引擎。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Web Forms】 经典 ASP.NET 开发模式。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Web Pages】 ASP.NET Web Pages 开发模式。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 PowerShell】 微软自动化脚本环境。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【网站建设指南】 网站开发与建设基础教程。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【浏览器信息】 浏览器市场与兼容性信息。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【网站主机教程】 网站部署与服务器托管。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【网站品质】 构建高质量网站。 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: HTML 实例 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: CSS 实例 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: JavaScript 实例 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: Ajax 实例 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: jQuery 实例 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: XML 实例 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: Java 实例 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: HTML 字符集设置 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: HTML ASCII 字符集 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: JS 混淆/加密 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: PNG/JPEG 图片压缩 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: HTML 拾色器 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: JSON 格式化工具 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 随机数生成器 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 搭子(DuMate)... +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: QoderWake 入门教程 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: Obsidian 同步、... +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: Obsidian 工作流... +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: Obsidian 插件 +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: Obsidian 文件组... +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: Obsidian 双链与... +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: runoob.com +2026-05-29 22:36:27 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 闽ICP备15012807号-1 +2026-05-29 22:36:27 [main] INFO c.n.repository.ArticleRepository - 批量添加完成,成功添加179篇文章 +2026-05-29 22:36:27 [main] INFO c.newscrawler.service.CrawlerService - 爬取菜鸟教程资讯成功,获取179篇文章 +2026-05-29 22:36:33 [main] INFO com.newscrawler.util.JsonUtil - 成功导出196篇文章到data\articles_20260529_223633.json +2026-05-29 22:39:16 [com.newscrawler.Main.main()] INFO com.newscrawler.Main - ========== 增强版Java资讯爬虫启动 ========== +2026-05-29 22:40:46 [main] INFO com.newscrawler.Main - ========== 增强版Java资讯爬虫启动 ========== +2026-05-29 22:40:53 [main] INFO com.newscrawler.Main - ========== 增强版Java资讯爬虫启动 ========== +2026-05-29 22:40:59 [main] INFO c.newscrawler.service.CrawlerService - 开始爬取单个站点: runoob +2026-05-29 22:40:59 [main] INFO c.newscrawler.service.CrawlerService - 开始爬取: 菜鸟教程资讯 - https://www.runoob.com/ +2026-05-29 22:40:59 [main] INFO c.n.strategy.AbstractBaseStrategy - 开始爬取站点: 菜鸟教程资讯 +2026-05-29 22:40:59 [main] DEBUG c.n.strategy.AbstractBaseStrategy - 第1次尝试获取页面: https://www.runoob.com/ +2026-05-29 22:41:00 [main] INFO c.n.strategy.AbstractBaseStrategy - 菜鸟教程解析到179条资讯 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 菜鸟教程 -- 学的不仅是技术,更是梦想! +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: HTML 手册 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: Javascript +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: CSS 1,2,3 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: Zepto 中文手册 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: Flat UI +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: PostgreSQL 手册 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: HTML 测验 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: HTML5 测验 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: XHTML 测验 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: CSS 测验 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: jQuery 测验 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: XML 测验 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: ASP 测验 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: PHP 测验 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: SQL 测验 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: Python 测验 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Python】 Python3 是当前主流 Python 版本。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Python2.x】 Python 经典版本。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 FastAPI】 现代高性能 Python API 框架。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Flask】 轻量级 Python Web 应用框架。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Django】 全功能 Python Web 开发框架。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 NumPy】 Python 科学计算核心库。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Pandas】 Python 数据分析核心库。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 SciPy】 Python 数学与科学计算工具包。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Matplotlib】 Python 数据可视化绘图库。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Dash】 Python 数据分析与可视化 Web 框架。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Jupyter Notebook】 交互式数据分析与计算工具。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Pillow】 Python 图像处理库。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【量化交易】 利用程序化策略进行金融交易。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 R】 用于统计分析与数据科学的编程语言。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Julia】 面向科学计算的高性能语言。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【AI Agent(智能体)】 AI Agent 让模型不只回答问题,而是按步骤完成动作。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【Skills(技能)】 Skills 让智能体具备特定能力与工作流。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【Codex 教程】 OpenAI 推出的 AI 编程协作工具。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【Claude Code】 Anthropic 推出的 AI 编程协作工具。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【OpenCode】 开源 AI 编程协作工具。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Ollama】 开源本地大语言模型运行框架。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 TensorFlow】 TensorFlow 是一个开源机器学习框架。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 PyTorch】 PyTorch 是一个开源机器学习框架。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Scikit-learn】 Scikit-learn 是一个开源机器学习库。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【机器学习】 机器学习是让机器通过数据进行预测与决策。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【LangChain】 用于构建基于大语言模型的应用程序的框架。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【自然语言处理 NLP】 自然语言处理是人工智能与语言学的交叉领域。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 OpenCV】 开源计算机视觉与机器学习软件库。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Selenium】 自动化 Web 浏览器操作工具。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Playwright】 现代 Web 自动化与端到端测试框架。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 HTML】 HTML 是网页的标准标记语言。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 HTML5】 下一代 HTML 标准。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 CSS】 网页样式与布局语言。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 CSS3】 CSS3 是 CSS 技术升级版本。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 JavaScript】 Web 核心编程语言。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 HTML DOM】 HTML DOM 定义了访问和操作 HTML 文档的标准方法。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 TypeScript】 JavaScript 的超集语言。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 AJAX】 异步 Web 数据交互技术。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 JSON】 数据交换标准格式。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Tailwind CSS】 实用优先 CSS 框架。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Bootstrap4】 经典响应式前端框架。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Bootstrap5】 最新 Bootstrap 前端框架。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Foundation】 响应式 HTML、CSS 与 JavaScript 框架。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Vue.js】 渐进式前端框架。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Vue3】 新一代 Vue 前端框架。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 React】 用于构建 UI 的 JavaScript 库。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Next.js】 基于 React 的全栈框架。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 AngularJS】 Google 推出的经典前端框架。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Angular】 现代 Angular 前端框架。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 jQuery】 经典 JavaScript 工具库。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 jQuery UI】 基于 jQuery 的 UI 组件库。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 jQuery EasyUI】 基于 jQuery 的 UI 框架。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 ECharts】 开源数据可视化图表库。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Chart.js】 轻量级 JavaScript 图表库。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Highcharts】 高级交互式图表库。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Google 地图】 Google Maps API 使用教程。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 SVG】 基于 XML 的矢量图格式。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Font Awesome】 流行图标字体库。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Node.js】 服务端 JavaScript 运行环境。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Electron】 基于 Web 技术开发跨平台桌面应用。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 PHP】 经典 Web 服务端语言。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Java】 企业级开发主流语言。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Go】 Google 推出的现代服务端语言。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Rust】 高性能系统级编程语言。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 C#】 .NET 核心开发语言。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Servlet】 Java Web 服务端技术。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 JSP】 Java 服务端页面技术。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 ASP】 经典动态服务器页面技术。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 AppML】 轻量级 Web 应用框架。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 VBScript】 微软经典脚本语言。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Swagger】 API 文档与测试工具。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 RESTful API】 现代 API 设计规范。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Docker】 容器化应用部署平台。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Linux】 主流服务器操作系统。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 ZooKeeper】 分布式协调服务。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 SQL】 结构化查询语言。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 MySQL】 流行关系型数据库。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 PostgreSQL】 高级开源关系型数据库。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 SQLite】 轻量级嵌入式数据库。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 MongoDB】 主流 NoSQL 数据库。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Redis】 高性能内存数据库。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Memcached】 分布式缓存系统。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Android】 Android 移动开发平台。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Flutter】 Google 跨平台 UI 框架。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Ionic】 HTML5 混合移动开发框架。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 jQuery Mobile】 移动端 Web UI 框架。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Swift】 Apple 官方开发语言。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Kotlin】 Android 官方开发语言。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Git】 分布式版本控制系统。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 SVN】 集中式版本控制系统。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 CMake】 跨平台构建工具。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Maven】 Java 项目构建工具。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 VS Code】 现代代码编辑器。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Obsidian】 现代化笔记应用。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 PyCharm】 Python 专业 IDE。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Eclipse】 经典 Java IDE。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Markdown】 轻量级标记语言。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 C】 经典系统级编程语言。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 C++】 高性能通用编程语言。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Zig】 现代系统级编程语言。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Scala】 运行于 JVM 的多范式语言。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Ruby】 优雅简洁的脚本语言。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Perl】 经典文本处理语言。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Lua】 轻量级嵌入式脚本语言。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习汇编语言】 面向硬件的低级语言。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Verilog】 数字电路硬件描述语言。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【数据结构与算法】 计算机核心基础知识。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【设计模式】 经典软件设计思想。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【Python 设计模式】 Python 面向对象设计实践。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【正则表达式】 字符串匹配与文本处理。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 HTTP】 Web 通信协议。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 TCP/IP】 互联网通信协议族。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【网络协议】 计算机网络通信规则。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 W3C】 Web 标准组织。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 XML】 数据交换与存储格式。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 DTD】 XML 文档类型定义。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 XML DOM】 XML 文档操作标准。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 XSLT】 XML 转换语言。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 XPath】 XML 节点查询语言。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 XQuery】 XML 查询语言。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 XLink】 XML 超链接标准。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 XPointer】 XML 数据定位语言。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 XML Schema】 XML 文档结构定义。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 XSL-FO】 XML 格式化对象语言。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Web Service】 基于网络的服务接口技术。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 WSDL】 Web Service 描述语言。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 SOAP】 基于 XML 的通信协议。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 RSS】 内容聚合订阅协议。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 RDF】 资源描述框架。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 ASP.NET】 .NET Web 开发框架。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 MVC】 MVC 架构模式。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Razor】 .NET 模板引擎。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Web Forms】 经典 ASP.NET 开发模式。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Web Pages】 ASP.NET Web Pages 开发模式。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 PowerShell】 微软自动化脚本环境。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【网站建设指南】 网站开发与建设基础教程。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【浏览器信息】 浏览器市场与兼容性信息。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【网站主机教程】 网站部署与服务器托管。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【网站品质】 构建高质量网站。 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: HTML 实例 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: CSS 实例 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: JavaScript 实例 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: Ajax 实例 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: jQuery 实例 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: XML 实例 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: Java 实例 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: HTML 字符集设置 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: HTML ASCII 字符集 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: JS 混淆/加密 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: PNG/JPEG 图片压缩 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: HTML 拾色器 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: JSON 格式化工具 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 随机数生成器 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 搭子(DuMate)... +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: QoderWake 入门教程 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: Obsidian 同步、... +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: Obsidian 工作流... +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: Obsidian 插件 +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: Obsidian 文件组... +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: Obsidian 双链与... +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: runoob.com +2026-05-29 22:41:00 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 闽ICP备15012807号-1 +2026-05-29 22:41:00 [main] INFO c.n.repository.ArticleRepository - 批量添加完成,成功添加179篇文章 +2026-05-29 22:41:00 [main] INFO c.newscrawler.service.CrawlerService - 爬取菜鸟教程资讯成功,获取179篇文章 +2026-05-29 22:41:07 [main] INFO com.newscrawler.util.JsonUtil - 成功导出179篇文章到data\菜鸟1.json +2026-05-29 22:41:21 [main] ERROR com.newscrawler.command.MenuCommand - 导入JSON失败 +java.io.FileNotFoundException: 文件不存在: data\2.json + at com.newscrawler.util.JsonUtil.importFromJson(JsonUtil.java:66) + at com.newscrawler.command.MenuCommand.importFromJson(MenuCommand.java:246) + at com.newscrawler.command.MenuCommand.handleImportExport(MenuCommand.java:141) + at com.newscrawler.command.MenuCommand.handleMainMenu(MenuCommand.java:78) + at com.newscrawler.command.MenuCommand.start(MenuCommand.java:33) + at com.newscrawler.Main.main(Main.java:17) +2026-05-29 22:41:42 [main] ERROR com.newscrawler.command.MenuCommand - 导入JSON失败 +java.io.FileNotFoundException: 文件不存在: data\����1.json + at com.newscrawler.util.JsonUtil.importFromJson(JsonUtil.java:66) + at com.newscrawler.command.MenuCommand.importFromJson(MenuCommand.java:246) + at com.newscrawler.command.MenuCommand.handleImportExport(MenuCommand.java:141) + at com.newscrawler.command.MenuCommand.handleMainMenu(MenuCommand.java:78) + at com.newscrawler.command.MenuCommand.start(MenuCommand.java:33) + at com.newscrawler.Main.main(Main.java:17) +2026-05-29 22:43:59 [com.newscrawler.Main.main()] INFO com.newscrawler.Main - ========== 增强版Java资讯爬虫启动 ========== +2026-05-29 22:45:38 [main] ERROR com.newscrawler.command.MenuCommand - 导入JSON失败 +java.io.FileNotFoundException: 文件不存在: data\����1.json + at com.newscrawler.util.JsonUtil.importFromJson(JsonUtil.java:66) + at com.newscrawler.command.MenuCommand.importFromJson(MenuCommand.java:246) + at com.newscrawler.command.MenuCommand.handleImportExport(MenuCommand.java:141) + at com.newscrawler.command.MenuCommand.handleMainMenu(MenuCommand.java:78) + at com.newscrawler.command.MenuCommand.start(MenuCommand.java:33) + at com.newscrawler.Main.main(Main.java:17) +2026-05-29 22:45:58 [main] ERROR com.newscrawler.command.MenuCommand - 导入JSON失败 +java.io.FileNotFoundException: 文件不存在: data\2.json + at com.newscrawler.util.JsonUtil.importFromJson(JsonUtil.java:66) + at com.newscrawler.command.MenuCommand.importFromJson(MenuCommand.java:246) + at com.newscrawler.command.MenuCommand.handleImportExport(MenuCommand.java:141) + at com.newscrawler.command.MenuCommand.handleMainMenu(MenuCommand.java:78) + at com.newscrawler.command.MenuCommand.start(MenuCommand.java:33) + at com.newscrawler.Main.main(Main.java:17) +2026-05-29 22:48:05 [com.newscrawler.Main.main()] INFO com.newscrawler.Main - ========== 增强版Java资讯爬虫启动 ========== +2026-05-29 22:51:20 [main] INFO com.newscrawler.Main - ========== 增强版Java资讯爬虫启动 ========== +2026-05-29 22:53:10 [main] INFO com.newscrawler.Main - ========== 增强版Java资讯爬虫启动 ========== +2026-05-29 22:53:28 [main] INFO com.newscrawler.util.JsonUtil - 从data\菜鸟1.json导入179篇文章,去重后保留179篇 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 菜鸟教程 -- 学的不仅是技术,更是梦想! +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: HTML 手册 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: Javascript +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: CSS 1,2,3 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: Zepto 中文手册 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: Flat UI +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: PostgreSQL 手册 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: HTML 测验 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: HTML5 测验 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: XHTML 测验 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: CSS 测验 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: jQuery 测验 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: XML 测验 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: ASP 测验 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: PHP 测验 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: SQL 测验 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: Python 测验 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Python】 Python3 是当前主流 Python 版本。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Python2.x】 Python 经典版本。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 FastAPI】 现代高性能 Python API 框架。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Flask】 轻量级 Python Web 应用框架。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Django】 全功能 Python Web 开发框架。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 NumPy】 Python 科学计算核心库。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Pandas】 Python 数据分析核心库。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 SciPy】 Python 数学与科学计算工具包。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Matplotlib】 Python 数据可视化绘图库。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Dash】 Python 数据分析与可视化 Web 框架。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Jupyter Notebook】 交互式数据分析与计算工具。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Pillow】 Python 图像处理库。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【量化交易】 利用程序化策略进行金融交易。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 R】 用于统计分析与数据科学的编程语言。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Julia】 面向科学计算的高性能语言。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【AI Agent(智能体)】 AI Agent 让模型不只回答问题,而是按步骤完成动作。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【Skills(技能)】 Skills 让智能体具备特定能力与工作流。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【Codex 教程】 OpenAI 推出的 AI 编程协作工具。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【Claude Code】 Anthropic 推出的 AI 编程协作工具。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【OpenCode】 开源 AI 编程协作工具。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Ollama】 开源本地大语言模型运行框架。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 TensorFlow】 TensorFlow 是一个开源机器学习框架。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 PyTorch】 PyTorch 是一个开源机器学习框架。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Scikit-learn】 Scikit-learn 是一个开源机器学习库。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【机器学习】 机器学习是让机器通过数据进行预测与决策。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【LangChain】 用于构建基于大语言模型的应用程序的框架。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【自然语言处理 NLP】 自然语言处理是人工智能与语言学的交叉领域。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 OpenCV】 开源计算机视觉与机器学习软件库。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Selenium】 自动化 Web 浏览器操作工具。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Playwright】 现代 Web 自动化与端到端测试框架。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 HTML】 HTML 是网页的标准标记语言。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 HTML5】 下一代 HTML 标准。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 CSS】 网页样式与布局语言。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 CSS3】 CSS3 是 CSS 技术升级版本。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 JavaScript】 Web 核心编程语言。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 HTML DOM】 HTML DOM 定义了访问和操作 HTML 文档的标准方法。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 TypeScript】 JavaScript 的超集语言。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 AJAX】 异步 Web 数据交互技术。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 JSON】 数据交换标准格式。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Tailwind CSS】 实用优先 CSS 框架。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Bootstrap4】 经典响应式前端框架。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Bootstrap5】 最新 Bootstrap 前端框架。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Foundation】 响应式 HTML、CSS 与 JavaScript 框架。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Vue.js】 渐进式前端框架。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Vue3】 新一代 Vue 前端框架。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 React】 用于构建 UI 的 JavaScript 库。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Next.js】 基于 React 的全栈框架。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 AngularJS】 Google 推出的经典前端框架。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Angular】 现代 Angular 前端框架。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 jQuery】 经典 JavaScript 工具库。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 jQuery UI】 基于 jQuery 的 UI 组件库。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 jQuery EasyUI】 基于 jQuery 的 UI 框架。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 ECharts】 开源数据可视化图表库。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Chart.js】 轻量级 JavaScript 图表库。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Highcharts】 高级交互式图表库。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Google 地图】 Google Maps API 使用教程。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 SVG】 基于 XML 的矢量图格式。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Font Awesome】 流行图标字体库。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Node.js】 服务端 JavaScript 运行环境。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Electron】 基于 Web 技术开发跨平台桌面应用。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 PHP】 经典 Web 服务端语言。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Java】 企业级开发主流语言。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Go】 Google 推出的现代服务端语言。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Rust】 高性能系统级编程语言。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 C#】 .NET 核心开发语言。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Servlet】 Java Web 服务端技术。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 JSP】 Java 服务端页面技术。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 ASP】 经典动态服务器页面技术。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 AppML】 轻量级 Web 应用框架。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 VBScript】 微软经典脚本语言。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Swagger】 API 文档与测试工具。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 RESTful API】 现代 API 设计规范。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Docker】 容器化应用部署平台。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Linux】 主流服务器操作系统。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 ZooKeeper】 分布式协调服务。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 SQL】 结构化查询语言。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 MySQL】 流行关系型数据库。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 PostgreSQL】 高级开源关系型数据库。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 SQLite】 轻量级嵌入式数据库。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 MongoDB】 主流 NoSQL 数据库。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Redis】 高性能内存数据库。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Memcached】 分布式缓存系统。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Android】 Android 移动开发平台。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Flutter】 Google 跨平台 UI 框架。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Ionic】 HTML5 混合移动开发框架。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 jQuery Mobile】 移动端 Web UI 框架。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Swift】 Apple 官方开发语言。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Kotlin】 Android 官方开发语言。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Git】 分布式版本控制系统。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 SVN】 集中式版本控制系统。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 CMake】 跨平台构建工具。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Maven】 Java 项目构建工具。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 VS Code】 现代代码编辑器。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Obsidian】 现代化笔记应用。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 PyCharm】 Python 专业 IDE。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Eclipse】 经典 Java IDE。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Markdown】 轻量级标记语言。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 C】 经典系统级编程语言。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 C++】 高性能通用编程语言。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Zig】 现代系统级编程语言。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Scala】 运行于 JVM 的多范式语言。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Ruby】 优雅简洁的脚本语言。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Perl】 经典文本处理语言。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Lua】 轻量级嵌入式脚本语言。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习汇编语言】 面向硬件的低级语言。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Verilog】 数字电路硬件描述语言。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【数据结构与算法】 计算机核心基础知识。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【设计模式】 经典软件设计思想。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【Python 设计模式】 Python 面向对象设计实践。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【正则表达式】 字符串匹配与文本处理。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 HTTP】 Web 通信协议。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 TCP/IP】 互联网通信协议族。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【网络协议】 计算机网络通信规则。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 W3C】 Web 标准组织。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 XML】 数据交换与存储格式。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 DTD】 XML 文档类型定义。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 XML DOM】 XML 文档操作标准。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 XSLT】 XML 转换语言。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 XPath】 XML 节点查询语言。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 XQuery】 XML 查询语言。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 XLink】 XML 超链接标准。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 XPointer】 XML 数据定位语言。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 XML Schema】 XML 文档结构定义。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 XSL-FO】 XML 格式化对象语言。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Web Service】 基于网络的服务接口技术。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 WSDL】 Web Service 描述语言。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 SOAP】 基于 XML 的通信协议。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 RSS】 内容聚合订阅协议。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 RDF】 资源描述框架。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 ASP.NET】 .NET Web 开发框架。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 MVC】 MVC 架构模式。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Razor】 .NET 模板引擎。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Web Forms】 经典 ASP.NET 开发模式。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Web Pages】 ASP.NET Web Pages 开发模式。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 PowerShell】 微软自动化脚本环境。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【网站建设指南】 网站开发与建设基础教程。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【浏览器信息】 浏览器市场与兼容性信息。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【网站主机教程】 网站部署与服务器托管。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【网站品质】 构建高质量网站。 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: HTML 实例 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: CSS 实例 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: JavaScript 实例 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: Ajax 实例 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: jQuery 实例 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: XML 实例 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: Java 实例 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: HTML 字符集设置 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: HTML ASCII 字符集 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: JS 混淆/加密 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: PNG/JPEG 图片压缩 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: HTML 拾色器 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: JSON 格式化工具 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 随机数生成器 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 搭子(DuMate)... +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: QoderWake 入门教程 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: Obsidian 同步、... +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: Obsidian 工作流... +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: Obsidian 插件 +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: Obsidian 文件组... +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: Obsidian 双链与... +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: runoob.com +2026-05-29 22:53:28 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 闽ICP备15012807号-1 +2026-05-29 22:53:28 [main] INFO c.n.repository.ArticleRepository - 批量添加完成,成功添加179篇文章 +2026-05-29 23:35:51 [main] INFO com.newscrawler.Main - ========== 增强版Java资讯爬虫启动 ========== +2026-05-29 23:37:39 [main] INFO com.newscrawler.Main - ========== 增强版Java资讯爬虫启动 ========== +2026-05-29 23:42:37 [main] INFO com.newscrawler.Main - ========== 增强版Java资讯爬虫启动 ========== diff --git a/project/资讯爬虫/logs/crawler.log b/project/资讯爬虫/logs/crawler.log new file mode 100644 index 0000000..e2736b6 --- /dev/null +++ b/project/资讯爬虫/logs/crawler.log @@ -0,0 +1,1171 @@ +2026-05-30 14:38:07 [main] INFO c.newscrawler.service.CrawlerService - 开始爬取单个站点: runoob +2026-05-30 14:38:08 [main] INFO c.newscrawler.service.CrawlerService - 开始爬取: 菜鸟教程资讯 - https://www.runoob.com/ +2026-05-30 14:38:08 [main] INFO c.n.strategy.AbstractBaseStrategy - 开始爬取站点: 菜鸟教程资讯 +2026-05-30 14:38:08 [main] DEBUG c.n.strategy.AbstractBaseStrategy - 第1次尝试获取页面: https://www.runoob.com/ +2026-05-30 14:38:09 [main] INFO c.n.strategy.AbstractBaseStrategy - 菜鸟教程解析到179条资讯 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 菜鸟教程 -- 学的不仅是技术,更是梦想! +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: HTML 手册 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: Javascript +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: CSS 1,2,3 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: Zepto 中文手册 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: Flat UI +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: PostgreSQL 手册 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: HTML 测验 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: HTML5 测验 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: XHTML 测验 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: CSS 测验 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: jQuery 测验 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: XML 测验 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: ASP 测验 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: PHP 测验 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: SQL 测验 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: Python 测验 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Python】 Python3 是当前主流 Python 版本。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Python2.x】 Python 经典版本。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 FastAPI】 现代高性能 Python API 框架。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Flask】 轻量级 Python Web 应用框架。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Django】 全功能 Python Web 开发框架。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 NumPy】 Python 科学计算核心库。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Pandas】 Python 数据分析核心库。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 SciPy】 Python 数学与科学计算工具包。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Matplotlib】 Python 数据可视化绘图库。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Dash】 Python 数据分析与可视化 Web 框架。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Jupyter Notebook】 交互式数据分析与计算工具。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Pillow】 Python 图像处理库。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【量化交易】 利用程序化策略进行金融交易。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 R】 用于统计分析与数据科学的编程语言。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Julia】 面向科学计算的高性能语言。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【AI Agent(智能体)】 AI Agent 让模型不只回答问题,而是按步骤完成动作。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【Skills(技能)】 Skills 让智能体具备特定能力与工作流。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【Codex 教程】 OpenAI 推出的 AI 编程协作工具。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【Claude Code】 Anthropic 推出的 AI 编程协作工具。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【OpenCode】 开源 AI 编程协作工具。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Ollama】 开源本地大语言模型运行框架。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 TensorFlow】 TensorFlow 是一个开源机器学习框架。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 PyTorch】 PyTorch 是一个开源机器学习框架。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Scikit-learn】 Scikit-learn 是一个开源机器学习库。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【机器学习】 机器学习是让机器通过数据进行预测与决策。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【LangChain】 用于构建基于大语言模型的应用程序的框架。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【自然语言处理 NLP】 自然语言处理是人工智能与语言学的交叉领域。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 OpenCV】 开源计算机视觉与机器学习软件库。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Selenium】 自动化 Web 浏览器操作工具。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Playwright】 现代 Web 自动化与端到端测试框架。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 HTML】 HTML 是网页的标准标记语言。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 HTML5】 下一代 HTML 标准。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 CSS】 网页样式与布局语言。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 CSS3】 CSS3 是 CSS 技术升级版本。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 JavaScript】 Web 核心编程语言。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 HTML DOM】 HTML DOM 定义了访问和操作 HTML 文档的标准方法。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 TypeScript】 JavaScript 的超集语言。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 AJAX】 异步 Web 数据交互技术。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 JSON】 数据交换标准格式。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Tailwind CSS】 实用优先 CSS 框架。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Bootstrap4】 经典响应式前端框架。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Bootstrap5】 最新 Bootstrap 前端框架。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Foundation】 响应式 HTML、CSS 与 JavaScript 框架。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Vue.js】 渐进式前端框架。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Vue3】 新一代 Vue 前端框架。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 React】 用于构建 UI 的 JavaScript 库。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Next.js】 基于 React 的全栈框架。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 AngularJS】 Google 推出的经典前端框架。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Angular】 现代 Angular 前端框架。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 jQuery】 经典 JavaScript 工具库。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 jQuery UI】 基于 jQuery 的 UI 组件库。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 jQuery EasyUI】 基于 jQuery 的 UI 框架。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 ECharts】 开源数据可视化图表库。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Chart.js】 轻量级 JavaScript 图表库。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Highcharts】 高级交互式图表库。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Google 地图】 Google Maps API 使用教程。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 SVG】 基于 XML 的矢量图格式。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Font Awesome】 流行图标字体库。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Node.js】 服务端 JavaScript 运行环境。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Electron】 基于 Web 技术开发跨平台桌面应用。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 PHP】 经典 Web 服务端语言。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Java】 企业级开发主流语言。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Go】 Google 推出的现代服务端语言。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Rust】 高性能系统级编程语言。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 C#】 .NET 核心开发语言。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Servlet】 Java Web 服务端技术。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 JSP】 Java 服务端页面技术。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 ASP】 经典动态服务器页面技术。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 AppML】 轻量级 Web 应用框架。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 VBScript】 微软经典脚本语言。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Swagger】 API 文档与测试工具。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 RESTful API】 现代 API 设计规范。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Docker】 容器化应用部署平台。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Linux】 主流服务器操作系统。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 ZooKeeper】 分布式协调服务。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 SQL】 结构化查询语言。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 MySQL】 流行关系型数据库。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 PostgreSQL】 高级开源关系型数据库。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 SQLite】 轻量级嵌入式数据库。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 MongoDB】 主流 NoSQL 数据库。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Redis】 高性能内存数据库。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Memcached】 分布式缓存系统。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Android】 Android 移动开发平台。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Flutter】 Google 跨平台 UI 框架。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Ionic】 HTML5 混合移动开发框架。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 jQuery Mobile】 移动端 Web UI 框架。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Swift】 Apple 官方开发语言。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Kotlin】 Android 官方开发语言。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Git】 分布式版本控制系统。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 SVN】 集中式版本控制系统。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 CMake】 跨平台构建工具。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Maven】 Java 项目构建工具。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 VS Code】 现代代码编辑器。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Obsidian】 现代化笔记应用。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 PyCharm】 Python 专业 IDE。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Eclipse】 经典 Java IDE。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Markdown】 轻量级标记语言。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 C】 经典系统级编程语言。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 C++】 高性能通用编程语言。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Zig】 现代系统级编程语言。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Scala】 运行于 JVM 的多范式语言。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Ruby】 优雅简洁的脚本语言。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Perl】 经典文本处理语言。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Lua】 轻量级嵌入式脚本语言。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习汇编语言】 面向硬件的低级语言。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Verilog】 数字电路硬件描述语言。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【数据结构与算法】 计算机核心基础知识。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【设计模式】 经典软件设计思想。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【Python 设计模式】 Python 面向对象设计实践。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【正则表达式】 字符串匹配与文本处理。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 HTTP】 Web 通信协议。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 TCP/IP】 互联网通信协议族。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【网络协议】 计算机网络通信规则。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 W3C】 Web 标准组织。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 XML】 数据交换与存储格式。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 DTD】 XML 文档类型定义。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 XML DOM】 XML 文档操作标准。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 XSLT】 XML 转换语言。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 XPath】 XML 节点查询语言。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 XQuery】 XML 查询语言。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 XLink】 XML 超链接标准。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 XPointer】 XML 数据定位语言。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 XML Schema】 XML 文档结构定义。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 XSL-FO】 XML 格式化对象语言。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Web Service】 基于网络的服务接口技术。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 WSDL】 Web Service 描述语言。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 SOAP】 基于 XML 的通信协议。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 RSS】 内容聚合订阅协议。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 RDF】 资源描述框架。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 ASP.NET】 .NET Web 开发框架。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 MVC】 MVC 架构模式。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Razor】 .NET 模板引擎。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Web Forms】 经典 ASP.NET 开发模式。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Web Pages】 ASP.NET Web Pages 开发模式。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 PowerShell】 微软自动化脚本环境。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【网站建设指南】 网站开发与建设基础教程。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【浏览器信息】 浏览器市场与兼容性信息。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【网站主机教程】 网站部署与服务器托管。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【网站品质】 构建高质量网站。 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: HTML 实例 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: CSS 实例 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: JavaScript 实例 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: Ajax 实例 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: jQuery 实例 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: XML 实例 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: Java 实例 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: HTML 字符集设置 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: HTML ASCII 字符集 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: JS 混淆/加密 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: PNG/JPEG 图片压缩 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: HTML 拾色器 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: JSON 格式化工具 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 随机数生成器 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 搭子(DuMate)... +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: QoderWake 入门教程 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: Obsidian 同步、... +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: Obsidian 工作流... +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: Obsidian 插件 +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: Obsidian 文件组... +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: Obsidian 双链与... +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: runoob.com +2026-05-30 14:38:09 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 闽ICP备15012807号-1 +2026-05-30 14:38:09 [main] INFO c.n.repository.ArticleRepository - 批量添加完成,成功添加179篇文章 +2026-05-30 14:38:09 [main] INFO c.newscrawler.service.CrawlerService - 爬取菜鸟教程资讯成功,获取179篇文章 +2026-05-30 14:39:12 [main] INFO c.newscrawler.service.CrawlerService - 开始爬取单个站点: youth +2026-05-30 14:39:12 [main] INFO c.newscrawler.service.CrawlerService - 开始爬取: 知乎日报 - https://daily.zhihu.com/ +2026-05-30 14:39:12 [main] INFO c.n.strategy.AbstractBaseStrategy - 开始爬取站点: 知乎日报 +2026-05-30 14:39:12 [main] DEBUG c.n.strategy.AbstractBaseStrategy - 第1次尝试获取页面: https://daily.zhihu.com/ +2026-05-30 14:39:13 [main] INFO c.n.strategy.AbstractBaseStrategy - 开始解析知乎日报页面,HTML长度: 12793 +2026-05-30 14:39:13 [main] INFO c.n.strategy.AbstractBaseStrategy - 页面共有 39 个链接 +2026-05-30 14:39:13 [main] INFO c.n.strategy.AbstractBaseStrategy - 初步解析到37条资讯 +2026-05-30 14:39:13 [main] INFO c.n.strategy.AbstractBaseStrategy - 知乎日报最终解析到20条资讯 +2026-05-30 14:39:13 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 浏览内容 +2026-05-30 14:39:13 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: App 下载 +2026-05-30 14:39:13 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 知乎日报 +2026-05-30 14:39:13 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: iOS 版 +2026-05-30 14:39:13 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 文学创作会不会受到 AI 的冲击? +2026-05-30 14:39:13 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 为什么说西西弗斯面对巨石,不断推上山是一种超越和蔑视? +2026-05-30 14:39:13 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 有哪些看起来很高端的技术其实原理很暴力很初级? +2026-05-30 14:39:13 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 中国古代官方不重视理工科吗,如果是,为什么? +2026-05-30 14:39:13 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 为什么人类不能自身合成维生素C? +2026-05-30 14:39:13 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 林黛玉被妙玉嫌弃太俗,却不敢反驳,她怼贾宝玉的劲儿哪去了? +2026-05-30 14:39:13 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 魏博没有山川险阻,靠什么屹立150年。甚至长期成为最强藩? +2026-05-30 14:39:13 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 瞎扯 · 如何正确地吐槽 +2026-05-30 14:39:13 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 为什么松鼠的动作总是一顿一顿的?像卡帧一样? +2026-05-30 14:39:13 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 既有 F=ma,又有F=kx,那么物理公式到底要求等号左边是因还是果? +2026-05-30 14:39:13 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 西安唐代城门恢复为何不学洛阳,丹凤门像土黄色纸壳子,明德门像塑料玩具? +2026-05-30 14:39:13 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 瞎扯 · 如何正确地吐槽 +2026-05-30 14:39:13 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 游牧民族几乎没有碳水来源,为什么没有营养不良? +2026-05-30 14:39:13 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 为什么压力单位这么混乱? +2026-05-30 14:39:13 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 为什么会有好奇害死猫这个说法? +2026-05-30 14:39:13 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 瞎扯 · 如何正确地吐槽 +2026-05-30 14:39:13 [main] INFO c.n.repository.ArticleRepository - 批量添加完成,成功添加20篇文章 +2026-05-30 14:39:13 [main] INFO c.newscrawler.service.CrawlerService - 爬取知乎日报成功,获取20篇文章 +2026-05-30 14:39:40 [main] INFO c.newscrawler.service.CrawlerService - 开始爬取单个站点: sohu +2026-05-30 14:39:40 [main] INFO c.newscrawler.service.CrawlerService - 开始爬取: 搜狐资讯 - https://news.sohu.com/ +2026-05-30 14:39:40 [main] INFO c.n.strategy.AbstractBaseStrategy - 开始爬取站点: 搜狐资讯 +2026-05-30 14:39:40 [main] DEBUG c.n.strategy.AbstractBaseStrategy - 第1次尝试获取页面: https://news.sohu.com/ +2026-05-30 14:39:40 [main] INFO c.n.strategy.AbstractBaseStrategy - 搜狐资讯解析到20条资讯 +2026-05-30 14:39:40 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 神舟二十一号乘组凯旋 航天员张陆从太空带回一个“平安果” +2026-05-30 14:39:40 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 泰兰尼斯,中产妈妈的“碎钞机”? +2026-05-30 14:39:40 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 健康证上标注“女性私密”?越界了! +2026-05-30 14:39:40 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 习语丨“我国广大科技工作者是大有作为的” +2026-05-30 14:39:40 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 习近平同埃及总统塞西就中埃建交70周年互致贺电 +2026-05-30 14:39:40 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 三问南阳重大交通事故:面对带病狂奔的“黑车” 为何关关失守? +2026-05-30 14:39:40 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 关志鸥任湖北省委书记 王忠林另有任用 +2026-05-30 14:39:40 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 因工作变动,蔡朝晖、邹广不再担任海南省副省长 +2026-05-30 14:39:40 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 湖南严厉打击烟花爆竹非法生产 群众举报最高奖励30万元 +2026-05-30 14:39:40 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 女学生因恋爱被家人骗进戒网瘾学校 以爱为名的迫害令人不寒而栗 +2026-05-30 14:39:40 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 非法从事试管婴儿手术背后:求子路上为何陷阱重重? +2026-05-30 14:39:40 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 陕西神木一煤矿因“月原煤产量超核定10%” 被责令停产整顿 +2026-05-30 14:39:40 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 农村户籍人员进城购房补贴十年未发放?四川武胜县住建局回应 +2026-05-30 14:39:40 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 8岁女童遭六旬老人多次猥亵 患上创伤后应激障碍 +2026-05-30 14:39:40 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 外卖大战后1600万骑手过剩:行业需400万骑手 实际涌进2000万人 +2026-05-30 14:39:40 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 特朗普被曝推迟就伊朗相关协议作最终决定 +2026-05-30 14:39:40 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 美国没收伊朗10亿美元加密资产 +2026-05-30 14:39:40 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 日本加速勾连菲律宾,有何图谋? +2026-05-30 14:39:40 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 美法官裁定:将特朗普名字从肯尼迪中心移除 +2026-05-30 14:39:40 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 加拿大男子认罪:向40多个国家1000多人寄送“自杀包裹”牟利 +2026-05-30 14:39:40 [main] INFO c.n.repository.ArticleRepository - 批量添加完成,成功添加20篇文章 +2026-05-30 14:39:40 [main] INFO c.newscrawler.service.CrawlerService - 爬取搜狐资讯成功,获取20篇文章 +2026-05-30 14:40:20 [main] INFO c.newscrawler.service.CrawlerService - 开始批量爬取所有站点 +2026-05-30 14:40:20 [main] INFO c.newscrawler.service.CrawlerService - 开始爬取: 搜狐资讯 - https://news.sohu.com/ +2026-05-30 14:40:20 [main] INFO c.n.strategy.AbstractBaseStrategy - 开始爬取站点: 搜狐资讯 +2026-05-30 14:40:20 [main] DEBUG c.n.strategy.AbstractBaseStrategy - 第1次尝试获取页面: https://news.sohu.com/ +2026-05-30 14:40:21 [main] INFO c.n.strategy.AbstractBaseStrategy - 搜狐资讯解析到20条资讯 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 神舟二十一号乘组凯旋 航天员张陆从太空带回一个“平安果” +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 泰兰尼斯,中产妈妈的“碎钞机”? +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 健康证上标注“女性私密”?越界了! +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 习语丨“我国广大科技工作者是大有作为的” +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 习近平同埃及总统塞西就中埃建交70周年互致贺电 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 三问南阳重大交通事故:面对带病狂奔的“黑车” 为何关关失守? +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 关志鸥任湖北省委书记 王忠林另有任用 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 因工作变动,蔡朝晖、邹广不再担任海南省副省长 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 湖南严厉打击烟花爆竹非法生产 群众举报最高奖励30万元 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 女学生因恋爱被家人骗进戒网瘾学校 以爱为名的迫害令人不寒而栗 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 非法从事试管婴儿手术背后:求子路上为何陷阱重重? +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 陕西神木一煤矿因“月原煤产量超核定10%” 被责令停产整顿 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 农村户籍人员进城购房补贴十年未发放?四川武胜县住建局回应 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 8岁女童遭六旬老人多次猥亵 患上创伤后应激障碍 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 外卖大战后1600万骑手过剩:行业需400万骑手 实际涌进2000万人 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 特朗普被曝推迟就伊朗相关协议作最终决定 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 美国没收伊朗10亿美元加密资产 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 日本加速勾连菲律宾,有何图谋? +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 美法官裁定:将特朗普名字从肯尼迪中心移除 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 加拿大男子认罪:向40多个国家1000多人寄送“自杀包裹”牟利 +2026-05-30 14:40:21 [main] INFO c.n.repository.ArticleRepository - 批量添加完成,成功添加20篇文章 +2026-05-30 14:40:21 [main] INFO c.newscrawler.service.CrawlerService - 爬取搜狐资讯成功,获取20篇文章 +2026-05-30 14:40:21 [main] INFO c.newscrawler.service.CrawlerService - 开始爬取: 知乎日报 - https://daily.zhihu.com/ +2026-05-30 14:40:21 [main] INFO c.n.strategy.AbstractBaseStrategy - 开始爬取站点: 知乎日报 +2026-05-30 14:40:21 [main] DEBUG c.n.strategy.AbstractBaseStrategy - 第1次尝试获取页面: https://daily.zhihu.com/ +2026-05-30 14:40:21 [main] INFO c.n.strategy.AbstractBaseStrategy - 开始解析知乎日报页面,HTML长度: 12793 +2026-05-30 14:40:21 [main] INFO c.n.strategy.AbstractBaseStrategy - 页面共有 39 个链接 +2026-05-30 14:40:21 [main] INFO c.n.strategy.AbstractBaseStrategy - 初步解析到37条资讯 +2026-05-30 14:40:21 [main] INFO c.n.strategy.AbstractBaseStrategy - 知乎日报最终解析到20条资讯 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 浏览内容 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: App 下载 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 知乎日报 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: iOS 版 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 文学创作会不会受到 AI 的冲击? +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 为什么说西西弗斯面对巨石,不断推上山是一种超越和蔑视? +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 有哪些看起来很高端的技术其实原理很暴力很初级? +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 中国古代官方不重视理工科吗,如果是,为什么? +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 为什么人类不能自身合成维生素C? +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 林黛玉被妙玉嫌弃太俗,却不敢反驳,她怼贾宝玉的劲儿哪去了? +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 魏博没有山川险阻,靠什么屹立150年。甚至长期成为最强藩? +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 瞎扯 · 如何正确地吐槽 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 为什么松鼠的动作总是一顿一顿的?像卡帧一样? +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 既有 F=ma,又有F=kx,那么物理公式到底要求等号左边是因还是果? +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 西安唐代城门恢复为何不学洛阳,丹凤门像土黄色纸壳子,明德门像塑料玩具? +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 瞎扯 · 如何正确地吐槽 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 游牧民族几乎没有碳水来源,为什么没有营养不良? +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 为什么压力单位这么混乱? +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 为什么会有好奇害死猫这个说法? +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 瞎扯 · 如何正确地吐槽 +2026-05-30 14:40:21 [main] INFO c.n.repository.ArticleRepository - 批量添加完成,成功添加20篇文章 +2026-05-30 14:40:21 [main] INFO c.newscrawler.service.CrawlerService - 爬取知乎日报成功,获取20篇文章 +2026-05-30 14:40:21 [main] INFO c.newscrawler.service.CrawlerService - 开始爬取: 菜鸟教程资讯 - https://www.runoob.com/ +2026-05-30 14:40:21 [main] INFO c.n.strategy.AbstractBaseStrategy - 开始爬取站点: 菜鸟教程资讯 +2026-05-30 14:40:21 [main] DEBUG c.n.strategy.AbstractBaseStrategy - 第1次尝试获取页面: https://www.runoob.com/ +2026-05-30 14:40:21 [main] INFO c.n.strategy.AbstractBaseStrategy - 菜鸟教程解析到179条资讯 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 菜鸟教程 -- 学的不仅是技术,更是梦想! +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: HTML 手册 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: Javascript +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: CSS 1,2,3 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: Zepto 中文手册 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: Flat UI +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: PostgreSQL 手册 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: HTML 测验 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: HTML5 测验 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: XHTML 测验 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: CSS 测验 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: jQuery 测验 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: XML 测验 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: ASP 测验 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: PHP 测验 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: SQL 测验 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: Python 测验 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Python】 Python3 是当前主流 Python 版本。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Python2.x】 Python 经典版本。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 FastAPI】 现代高性能 Python API 框架。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Flask】 轻量级 Python Web 应用框架。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Django】 全功能 Python Web 开发框架。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 NumPy】 Python 科学计算核心库。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Pandas】 Python 数据分析核心库。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 SciPy】 Python 数学与科学计算工具包。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Matplotlib】 Python 数据可视化绘图库。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Dash】 Python 数据分析与可视化 Web 框架。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Jupyter Notebook】 交互式数据分析与计算工具。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Pillow】 Python 图像处理库。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【量化交易】 利用程序化策略进行金融交易。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 R】 用于统计分析与数据科学的编程语言。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Julia】 面向科学计算的高性能语言。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【AI Agent(智能体)】 AI Agent 让模型不只回答问题,而是按步骤完成动作。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【Skills(技能)】 Skills 让智能体具备特定能力与工作流。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【Codex 教程】 OpenAI 推出的 AI 编程协作工具。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【Claude Code】 Anthropic 推出的 AI 编程协作工具。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【OpenCode】 开源 AI 编程协作工具。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Ollama】 开源本地大语言模型运行框架。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 TensorFlow】 TensorFlow 是一个开源机器学习框架。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 PyTorch】 PyTorch 是一个开源机器学习框架。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Scikit-learn】 Scikit-learn 是一个开源机器学习库。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【机器学习】 机器学习是让机器通过数据进行预测与决策。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【LangChain】 用于构建基于大语言模型的应用程序的框架。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【自然语言处理 NLP】 自然语言处理是人工智能与语言学的交叉领域。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 OpenCV】 开源计算机视觉与机器学习软件库。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Selenium】 自动化 Web 浏览器操作工具。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Playwright】 现代 Web 自动化与端到端测试框架。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 HTML】 HTML 是网页的标准标记语言。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 HTML5】 下一代 HTML 标准。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 CSS】 网页样式与布局语言。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 CSS3】 CSS3 是 CSS 技术升级版本。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 JavaScript】 Web 核心编程语言。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 HTML DOM】 HTML DOM 定义了访问和操作 HTML 文档的标准方法。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 TypeScript】 JavaScript 的超集语言。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 AJAX】 异步 Web 数据交互技术。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 JSON】 数据交换标准格式。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Tailwind CSS】 实用优先 CSS 框架。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Bootstrap4】 经典响应式前端框架。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Bootstrap5】 最新 Bootstrap 前端框架。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Foundation】 响应式 HTML、CSS 与 JavaScript 框架。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Vue.js】 渐进式前端框架。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Vue3】 新一代 Vue 前端框架。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 React】 用于构建 UI 的 JavaScript 库。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Next.js】 基于 React 的全栈框架。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 AngularJS】 Google 推出的经典前端框架。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Angular】 现代 Angular 前端框架。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 jQuery】 经典 JavaScript 工具库。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 jQuery UI】 基于 jQuery 的 UI 组件库。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 jQuery EasyUI】 基于 jQuery 的 UI 框架。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 ECharts】 开源数据可视化图表库。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Chart.js】 轻量级 JavaScript 图表库。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Highcharts】 高级交互式图表库。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Google 地图】 Google Maps API 使用教程。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 SVG】 基于 XML 的矢量图格式。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Font Awesome】 流行图标字体库。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Node.js】 服务端 JavaScript 运行环境。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Electron】 基于 Web 技术开发跨平台桌面应用。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 PHP】 经典 Web 服务端语言。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Java】 企业级开发主流语言。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Go】 Google 推出的现代服务端语言。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Rust】 高性能系统级编程语言。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 C#】 .NET 核心开发语言。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Servlet】 Java Web 服务端技术。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 JSP】 Java 服务端页面技术。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 ASP】 经典动态服务器页面技术。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 AppML】 轻量级 Web 应用框架。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 VBScript】 微软经典脚本语言。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Swagger】 API 文档与测试工具。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 RESTful API】 现代 API 设计规范。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Docker】 容器化应用部署平台。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Linux】 主流服务器操作系统。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 ZooKeeper】 分布式协调服务。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 SQL】 结构化查询语言。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 MySQL】 流行关系型数据库。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 PostgreSQL】 高级开源关系型数据库。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 SQLite】 轻量级嵌入式数据库。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 MongoDB】 主流 NoSQL 数据库。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Redis】 高性能内存数据库。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Memcached】 分布式缓存系统。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Android】 Android 移动开发平台。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Flutter】 Google 跨平台 UI 框架。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Ionic】 HTML5 混合移动开发框架。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 jQuery Mobile】 移动端 Web UI 框架。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Swift】 Apple 官方开发语言。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Kotlin】 Android 官方开发语言。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Git】 分布式版本控制系统。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 SVN】 集中式版本控制系统。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 CMake】 跨平台构建工具。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Maven】 Java 项目构建工具。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 VS Code】 现代代码编辑器。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Obsidian】 现代化笔记应用。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 PyCharm】 Python 专业 IDE。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Eclipse】 经典 Java IDE。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Markdown】 轻量级标记语言。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 C】 经典系统级编程语言。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 C++】 高性能通用编程语言。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Zig】 现代系统级编程语言。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Scala】 运行于 JVM 的多范式语言。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Ruby】 优雅简洁的脚本语言。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Perl】 经典文本处理语言。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Lua】 轻量级嵌入式脚本语言。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习汇编语言】 面向硬件的低级语言。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Verilog】 数字电路硬件描述语言。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【数据结构与算法】 计算机核心基础知识。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【设计模式】 经典软件设计思想。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【Python 设计模式】 Python 面向对象设计实践。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【正则表达式】 字符串匹配与文本处理。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 HTTP】 Web 通信协议。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 TCP/IP】 互联网通信协议族。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【网络协议】 计算机网络通信规则。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 W3C】 Web 标准组织。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 XML】 数据交换与存储格式。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 DTD】 XML 文档类型定义。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 XML DOM】 XML 文档操作标准。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 XSLT】 XML 转换语言。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 XPath】 XML 节点查询语言。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 XQuery】 XML 查询语言。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 XLink】 XML 超链接标准。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 XPointer】 XML 数据定位语言。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 XML Schema】 XML 文档结构定义。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 XSL-FO】 XML 格式化对象语言。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Web Service】 基于网络的服务接口技术。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 WSDL】 Web Service 描述语言。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 SOAP】 基于 XML 的通信协议。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 RSS】 内容聚合订阅协议。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 RDF】 资源描述框架。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 ASP.NET】 .NET Web 开发框架。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 MVC】 MVC 架构模式。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Razor】 .NET 模板引擎。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Web Forms】 经典 ASP.NET 开发模式。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Web Pages】 ASP.NET Web Pages 开发模式。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 PowerShell】 微软自动化脚本环境。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【网站建设指南】 网站开发与建设基础教程。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【浏览器信息】 浏览器市场与兼容性信息。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【网站主机教程】 网站部署与服务器托管。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【网站品质】 构建高质量网站。 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: HTML 实例 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: CSS 实例 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: JavaScript 实例 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: Ajax 实例 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: jQuery 实例 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: XML 实例 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: Java 实例 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: HTML 字符集设置 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: HTML ASCII 字符集 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: JS 混淆/加密 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: PNG/JPEG 图片压缩 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: HTML 拾色器 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: JSON 格式化工具 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 随机数生成器 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 搭子(DuMate)... +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: QoderWake 入门教程 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: Obsidian 同步、... +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: Obsidian 工作流... +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: Obsidian 插件 +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: Obsidian 文件组... +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: Obsidian 双链与... +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: runoob.com +2026-05-30 14:40:21 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 闽ICP备15012807号-1 +2026-05-30 14:40:21 [main] INFO c.n.repository.ArticleRepository - 批量添加完成,成功添加179篇文章 +2026-05-30 14:40:21 [main] INFO c.newscrawler.service.CrawlerService - 爬取菜鸟教程资讯成功,获取179篇文章 +2026-05-30 14:40:21 [main] INFO c.newscrawler.service.CrawlerService - 批量爬取完成,共获取219篇文章 +2026-05-30 14:45:30 [main] INFO com.newscrawler.util.JsonUtil - 成功导出217篇文章到data\全1.json +2026-05-30 14:46:12 [main] INFO c.newscrawler.service.CrawlerService - 开始爬取单个站点: youth +2026-05-30 14:46:12 [main] INFO c.newscrawler.service.CrawlerService - 开始爬取: 知乎日报 - https://daily.zhihu.com/ +2026-05-30 14:46:12 [main] INFO c.n.strategy.AbstractBaseStrategy - 开始爬取站点: 知乎日报 +2026-05-30 14:46:12 [main] DEBUG c.n.strategy.AbstractBaseStrategy - 第1次尝试获取页面: https://daily.zhihu.com/ +2026-05-30 14:46:12 [main] INFO c.n.strategy.AbstractBaseStrategy - 开始解析知乎日报页面,HTML长度: 12793 +2026-05-30 14:46:12 [main] INFO c.n.strategy.AbstractBaseStrategy - 页面共有 39 个链接 +2026-05-30 14:46:12 [main] INFO c.n.strategy.AbstractBaseStrategy - 初步解析到37条资讯 +2026-05-30 14:46:12 [main] INFO c.n.strategy.AbstractBaseStrategy - 知乎日报最终解析到20条资讯 +2026-05-30 14:46:12 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 浏览内容 +2026-05-30 14:46:12 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: App 下载 +2026-05-30 14:46:12 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 知乎日报 +2026-05-30 14:46:12 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: iOS 版 +2026-05-30 14:46:12 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 文学创作会不会受到 AI 的冲击? +2026-05-30 14:46:12 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 为什么说西西弗斯面对巨石,不断推上山是一种超越和蔑视? +2026-05-30 14:46:12 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 有哪些看起来很高端的技术其实原理很暴力很初级? +2026-05-30 14:46:12 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 中国古代官方不重视理工科吗,如果是,为什么? +2026-05-30 14:46:12 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 为什么人类不能自身合成维生素C? +2026-05-30 14:46:12 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 林黛玉被妙玉嫌弃太俗,却不敢反驳,她怼贾宝玉的劲儿哪去了? +2026-05-30 14:46:12 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 魏博没有山川险阻,靠什么屹立150年。甚至长期成为最强藩? +2026-05-30 14:46:12 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 瞎扯 · 如何正确地吐槽 +2026-05-30 14:46:12 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 为什么松鼠的动作总是一顿一顿的?像卡帧一样? +2026-05-30 14:46:12 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 既有 F=ma,又有F=kx,那么物理公式到底要求等号左边是因还是果? +2026-05-30 14:46:12 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 西安唐代城门恢复为何不学洛阳,丹凤门像土黄色纸壳子,明德门像塑料玩具? +2026-05-30 14:46:12 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 瞎扯 · 如何正确地吐槽 +2026-05-30 14:46:12 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 游牧民族几乎没有碳水来源,为什么没有营养不良? +2026-05-30 14:46:12 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 为什么压力单位这么混乱? +2026-05-30 14:46:12 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 为什么会有好奇害死猫这个说法? +2026-05-30 14:46:12 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 瞎扯 · 如何正确地吐槽 +2026-05-30 14:46:12 [main] INFO c.n.repository.ArticleRepository - 批量添加完成,成功添加20篇文章 +2026-05-30 14:46:12 [main] INFO c.newscrawler.service.CrawlerService - 爬取知乎日报成功,获取20篇文章 +2026-05-30 14:46:17 [main] INFO com.newscrawler.util.JsonUtil - 成功导出217篇文章到data\全2.json +2026-05-30 14:46:32 [main] INFO c.newscrawler.service.CrawlerService - 开始爬取单个站点: runoob +2026-05-30 14:46:32 [main] INFO c.newscrawler.service.CrawlerService - 开始爬取: 菜鸟教程资讯 - https://www.runoob.com/ +2026-05-30 14:46:32 [main] INFO c.n.strategy.AbstractBaseStrategy - 开始爬取站点: 菜鸟教程资讯 +2026-05-30 14:46:32 [main] DEBUG c.n.strategy.AbstractBaseStrategy - 第1次尝试获取页面: https://www.runoob.com/ +2026-05-30 14:46:32 [main] INFO c.n.strategy.AbstractBaseStrategy - 菜鸟教程解析到179条资讯 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 菜鸟教程 -- 学的不仅是技术,更是梦想! +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: HTML 手册 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: Javascript +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: CSS 1,2,3 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: Zepto 中文手册 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: Flat UI +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: PostgreSQL 手册 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: HTML 测验 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: HTML5 测验 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: XHTML 测验 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: CSS 测验 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: jQuery 测验 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: XML 测验 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: ASP 测验 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: PHP 测验 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: SQL 测验 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: Python 测验 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Python】 Python3 是当前主流 Python 版本。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Python2.x】 Python 经典版本。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 FastAPI】 现代高性能 Python API 框架。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Flask】 轻量级 Python Web 应用框架。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Django】 全功能 Python Web 开发框架。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 NumPy】 Python 科学计算核心库。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Pandas】 Python 数据分析核心库。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 SciPy】 Python 数学与科学计算工具包。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Matplotlib】 Python 数据可视化绘图库。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Dash】 Python 数据分析与可视化 Web 框架。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Jupyter Notebook】 交互式数据分析与计算工具。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Pillow】 Python 图像处理库。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【量化交易】 利用程序化策略进行金融交易。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 R】 用于统计分析与数据科学的编程语言。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Julia】 面向科学计算的高性能语言。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【AI Agent(智能体)】 AI Agent 让模型不只回答问题,而是按步骤完成动作。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【Skills(技能)】 Skills 让智能体具备特定能力与工作流。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【Codex 教程】 OpenAI 推出的 AI 编程协作工具。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【Claude Code】 Anthropic 推出的 AI 编程协作工具。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【OpenCode】 开源 AI 编程协作工具。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Ollama】 开源本地大语言模型运行框架。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 TensorFlow】 TensorFlow 是一个开源机器学习框架。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 PyTorch】 PyTorch 是一个开源机器学习框架。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Scikit-learn】 Scikit-learn 是一个开源机器学习库。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【机器学习】 机器学习是让机器通过数据进行预测与决策。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【LangChain】 用于构建基于大语言模型的应用程序的框架。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【自然语言处理 NLP】 自然语言处理是人工智能与语言学的交叉领域。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 OpenCV】 开源计算机视觉与机器学习软件库。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Selenium】 自动化 Web 浏览器操作工具。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Playwright】 现代 Web 自动化与端到端测试框架。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 HTML】 HTML 是网页的标准标记语言。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 HTML5】 下一代 HTML 标准。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 CSS】 网页样式与布局语言。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 CSS3】 CSS3 是 CSS 技术升级版本。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 JavaScript】 Web 核心编程语言。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 HTML DOM】 HTML DOM 定义了访问和操作 HTML 文档的标准方法。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 TypeScript】 JavaScript 的超集语言。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 AJAX】 异步 Web 数据交互技术。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 JSON】 数据交换标准格式。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Tailwind CSS】 实用优先 CSS 框架。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Bootstrap4】 经典响应式前端框架。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Bootstrap5】 最新 Bootstrap 前端框架。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Foundation】 响应式 HTML、CSS 与 JavaScript 框架。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Vue.js】 渐进式前端框架。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Vue3】 新一代 Vue 前端框架。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 React】 用于构建 UI 的 JavaScript 库。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Next.js】 基于 React 的全栈框架。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 AngularJS】 Google 推出的经典前端框架。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Angular】 现代 Angular 前端框架。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 jQuery】 经典 JavaScript 工具库。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 jQuery UI】 基于 jQuery 的 UI 组件库。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 jQuery EasyUI】 基于 jQuery 的 UI 框架。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 ECharts】 开源数据可视化图表库。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Chart.js】 轻量级 JavaScript 图表库。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Highcharts】 高级交互式图表库。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Google 地图】 Google Maps API 使用教程。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 SVG】 基于 XML 的矢量图格式。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Font Awesome】 流行图标字体库。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Node.js】 服务端 JavaScript 运行环境。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Electron】 基于 Web 技术开发跨平台桌面应用。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 PHP】 经典 Web 服务端语言。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Java】 企业级开发主流语言。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Go】 Google 推出的现代服务端语言。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Rust】 高性能系统级编程语言。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 C#】 .NET 核心开发语言。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Servlet】 Java Web 服务端技术。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 JSP】 Java 服务端页面技术。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 ASP】 经典动态服务器页面技术。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 AppML】 轻量级 Web 应用框架。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 VBScript】 微软经典脚本语言。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Swagger】 API 文档与测试工具。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 RESTful API】 现代 API 设计规范。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Docker】 容器化应用部署平台。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Linux】 主流服务器操作系统。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 ZooKeeper】 分布式协调服务。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 SQL】 结构化查询语言。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 MySQL】 流行关系型数据库。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 PostgreSQL】 高级开源关系型数据库。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 SQLite】 轻量级嵌入式数据库。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 MongoDB】 主流 NoSQL 数据库。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Redis】 高性能内存数据库。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Memcached】 分布式缓存系统。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Android】 Android 移动开发平台。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Flutter】 Google 跨平台 UI 框架。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Ionic】 HTML5 混合移动开发框架。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 jQuery Mobile】 移动端 Web UI 框架。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Swift】 Apple 官方开发语言。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Kotlin】 Android 官方开发语言。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Git】 分布式版本控制系统。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 SVN】 集中式版本控制系统。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 CMake】 跨平台构建工具。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Maven】 Java 项目构建工具。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 VS Code】 现代代码编辑器。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Obsidian】 现代化笔记应用。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 PyCharm】 Python 专业 IDE。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Eclipse】 经典 Java IDE。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Markdown】 轻量级标记语言。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 C】 经典系统级编程语言。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 C++】 高性能通用编程语言。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Zig】 现代系统级编程语言。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Scala】 运行于 JVM 的多范式语言。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Ruby】 优雅简洁的脚本语言。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Perl】 经典文本处理语言。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Lua】 轻量级嵌入式脚本语言。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习汇编语言】 面向硬件的低级语言。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Verilog】 数字电路硬件描述语言。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【数据结构与算法】 计算机核心基础知识。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【设计模式】 经典软件设计思想。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【Python 设计模式】 Python 面向对象设计实践。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【正则表达式】 字符串匹配与文本处理。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 HTTP】 Web 通信协议。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 TCP/IP】 互联网通信协议族。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【网络协议】 计算机网络通信规则。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 W3C】 Web 标准组织。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 XML】 数据交换与存储格式。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 DTD】 XML 文档类型定义。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 XML DOM】 XML 文档操作标准。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 XSLT】 XML 转换语言。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 XPath】 XML 节点查询语言。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 XQuery】 XML 查询语言。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 XLink】 XML 超链接标准。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 XPointer】 XML 数据定位语言。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 XML Schema】 XML 文档结构定义。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 XSL-FO】 XML 格式化对象语言。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Web Service】 基于网络的服务接口技术。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 WSDL】 Web Service 描述语言。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 SOAP】 基于 XML 的通信协议。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 RSS】 内容聚合订阅协议。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 RDF】 资源描述框架。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 ASP.NET】 .NET Web 开发框架。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 MVC】 MVC 架构模式。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Razor】 .NET 模板引擎。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Web Forms】 经典 ASP.NET 开发模式。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Web Pages】 ASP.NET Web Pages 开发模式。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 PowerShell】 微软自动化脚本环境。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【网站建设指南】 网站开发与建设基础教程。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【浏览器信息】 浏览器市场与兼容性信息。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【网站主机教程】 网站部署与服务器托管。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【网站品质】 构建高质量网站。 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: HTML 实例 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: CSS 实例 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: JavaScript 实例 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: Ajax 实例 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: jQuery 实例 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: XML 实例 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: Java 实例 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: HTML 字符集设置 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: HTML ASCII 字符集 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: JS 混淆/加密 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: PNG/JPEG 图片压缩 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: HTML 拾色器 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: JSON 格式化工具 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 随机数生成器 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 搭子(DuMate)... +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: QoderWake 入门教程 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: Obsidian 同步、... +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: Obsidian 工作流... +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: Obsidian 插件 +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: Obsidian 文件组... +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: Obsidian 双链与... +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: runoob.com +2026-05-30 14:46:32 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 闽ICP备15012807号-1 +2026-05-30 14:46:32 [main] INFO c.n.repository.ArticleRepository - 批量添加完成,成功添加179篇文章 +2026-05-30 14:46:32 [main] INFO c.newscrawler.service.CrawlerService - 爬取菜鸟教程资讯成功,获取179篇文章 +2026-05-30 14:46:39 [main] INFO com.newscrawler.util.JsonUtil - 成功导出217篇文章到data\全3.json +2026-05-30 14:47:22 [main] INFO c.newscrawler.service.CrawlerService - 开始爬取单个站点: runoob +2026-05-30 14:47:22 [main] INFO c.newscrawler.service.CrawlerService - 开始爬取: 菜鸟教程资讯 - https://www.runoob.com/ +2026-05-30 14:47:22 [main] INFO c.n.strategy.AbstractBaseStrategy - 开始爬取站点: 菜鸟教程资讯 +2026-05-30 14:47:22 [main] DEBUG c.n.strategy.AbstractBaseStrategy - 第1次尝试获取页面: https://www.runoob.com/ +2026-05-30 14:47:22 [main] INFO c.n.strategy.AbstractBaseStrategy - 菜鸟教程解析到179条资讯 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 菜鸟教程 -- 学的不仅是技术,更是梦想! +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: HTML 手册 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: Javascript +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: CSS 1,2,3 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: Zepto 中文手册 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: Flat UI +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: PostgreSQL 手册 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: HTML 测验 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: HTML5 测验 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: XHTML 测验 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: CSS 测验 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: jQuery 测验 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: XML 测验 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: ASP 测验 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: PHP 测验 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: SQL 测验 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: Python 测验 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Python】 Python3 是当前主流 Python 版本。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Python2.x】 Python 经典版本。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 FastAPI】 现代高性能 Python API 框架。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Flask】 轻量级 Python Web 应用框架。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Django】 全功能 Python Web 开发框架。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 NumPy】 Python 科学计算核心库。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Pandas】 Python 数据分析核心库。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 SciPy】 Python 数学与科学计算工具包。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Matplotlib】 Python 数据可视化绘图库。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Dash】 Python 数据分析与可视化 Web 框架。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Jupyter Notebook】 交互式数据分析与计算工具。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Pillow】 Python 图像处理库。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【量化交易】 利用程序化策略进行金融交易。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 R】 用于统计分析与数据科学的编程语言。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Julia】 面向科学计算的高性能语言。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【AI Agent(智能体)】 AI Agent 让模型不只回答问题,而是按步骤完成动作。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【Skills(技能)】 Skills 让智能体具备特定能力与工作流。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【Codex 教程】 OpenAI 推出的 AI 编程协作工具。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【Claude Code】 Anthropic 推出的 AI 编程协作工具。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【OpenCode】 开源 AI 编程协作工具。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Ollama】 开源本地大语言模型运行框架。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 TensorFlow】 TensorFlow 是一个开源机器学习框架。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 PyTorch】 PyTorch 是一个开源机器学习框架。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Scikit-learn】 Scikit-learn 是一个开源机器学习库。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【机器学习】 机器学习是让机器通过数据进行预测与决策。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【LangChain】 用于构建基于大语言模型的应用程序的框架。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【自然语言处理 NLP】 自然语言处理是人工智能与语言学的交叉领域。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 OpenCV】 开源计算机视觉与机器学习软件库。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Selenium】 自动化 Web 浏览器操作工具。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Playwright】 现代 Web 自动化与端到端测试框架。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 HTML】 HTML 是网页的标准标记语言。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 HTML5】 下一代 HTML 标准。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 CSS】 网页样式与布局语言。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 CSS3】 CSS3 是 CSS 技术升级版本。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 JavaScript】 Web 核心编程语言。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 HTML DOM】 HTML DOM 定义了访问和操作 HTML 文档的标准方法。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 TypeScript】 JavaScript 的超集语言。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 AJAX】 异步 Web 数据交互技术。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 JSON】 数据交换标准格式。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Tailwind CSS】 实用优先 CSS 框架。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Bootstrap4】 经典响应式前端框架。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Bootstrap5】 最新 Bootstrap 前端框架。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Foundation】 响应式 HTML、CSS 与 JavaScript 框架。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Vue.js】 渐进式前端框架。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Vue3】 新一代 Vue 前端框架。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 React】 用于构建 UI 的 JavaScript 库。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Next.js】 基于 React 的全栈框架。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 AngularJS】 Google 推出的经典前端框架。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Angular】 现代 Angular 前端框架。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 jQuery】 经典 JavaScript 工具库。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 jQuery UI】 基于 jQuery 的 UI 组件库。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 jQuery EasyUI】 基于 jQuery 的 UI 框架。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 ECharts】 开源数据可视化图表库。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Chart.js】 轻量级 JavaScript 图表库。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Highcharts】 高级交互式图表库。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Google 地图】 Google Maps API 使用教程。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 SVG】 基于 XML 的矢量图格式。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Font Awesome】 流行图标字体库。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Node.js】 服务端 JavaScript 运行环境。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Electron】 基于 Web 技术开发跨平台桌面应用。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 PHP】 经典 Web 服务端语言。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Java】 企业级开发主流语言。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Go】 Google 推出的现代服务端语言。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Rust】 高性能系统级编程语言。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 C#】 .NET 核心开发语言。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Servlet】 Java Web 服务端技术。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 JSP】 Java 服务端页面技术。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 ASP】 经典动态服务器页面技术。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 AppML】 轻量级 Web 应用框架。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 VBScript】 微软经典脚本语言。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Swagger】 API 文档与测试工具。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 RESTful API】 现代 API 设计规范。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Docker】 容器化应用部署平台。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Linux】 主流服务器操作系统。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 ZooKeeper】 分布式协调服务。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 SQL】 结构化查询语言。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 MySQL】 流行关系型数据库。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 PostgreSQL】 高级开源关系型数据库。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 SQLite】 轻量级嵌入式数据库。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 MongoDB】 主流 NoSQL 数据库。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Redis】 高性能内存数据库。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Memcached】 分布式缓存系统。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Android】 Android 移动开发平台。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Flutter】 Google 跨平台 UI 框架。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Ionic】 HTML5 混合移动开发框架。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 jQuery Mobile】 移动端 Web UI 框架。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Swift】 Apple 官方开发语言。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Kotlin】 Android 官方开发语言。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Git】 分布式版本控制系统。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 SVN】 集中式版本控制系统。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 CMake】 跨平台构建工具。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Maven】 Java 项目构建工具。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 VS Code】 现代代码编辑器。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Obsidian】 现代化笔记应用。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 PyCharm】 Python 专业 IDE。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Eclipse】 经典 Java IDE。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Markdown】 轻量级标记语言。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 C】 经典系统级编程语言。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 C++】 高性能通用编程语言。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Zig】 现代系统级编程语言。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Scala】 运行于 JVM 的多范式语言。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Ruby】 优雅简洁的脚本语言。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Perl】 经典文本处理语言。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Lua】 轻量级嵌入式脚本语言。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习汇编语言】 面向硬件的低级语言。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Verilog】 数字电路硬件描述语言。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【数据结构与算法】 计算机核心基础知识。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【设计模式】 经典软件设计思想。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【Python 设计模式】 Python 面向对象设计实践。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【正则表达式】 字符串匹配与文本处理。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 HTTP】 Web 通信协议。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 TCP/IP】 互联网通信协议族。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【网络协议】 计算机网络通信规则。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 W3C】 Web 标准组织。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 XML】 数据交换与存储格式。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 DTD】 XML 文档类型定义。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 XML DOM】 XML 文档操作标准。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 XSLT】 XML 转换语言。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 XPath】 XML 节点查询语言。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 XQuery】 XML 查询语言。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 XLink】 XML 超链接标准。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 XPointer】 XML 数据定位语言。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 XML Schema】 XML 文档结构定义。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 XSL-FO】 XML 格式化对象语言。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Web Service】 基于网络的服务接口技术。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 WSDL】 Web Service 描述语言。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 SOAP】 基于 XML 的通信协议。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 RSS】 内容聚合订阅协议。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 RDF】 资源描述框架。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 ASP.NET】 .NET Web 开发框架。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 MVC】 MVC 架构模式。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Razor】 .NET 模板引擎。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Web Forms】 经典 ASP.NET 开发模式。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 Web Pages】 ASP.NET Web Pages 开发模式。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【学习 PowerShell】 微软自动化脚本环境。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【网站建设指南】 网站开发与建设基础教程。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【浏览器信息】 浏览器市场与兼容性信息。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【网站主机教程】 网站部署与服务器托管。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 【网站品质】 构建高质量网站。 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: HTML 实例 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: CSS 实例 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: JavaScript 实例 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: Ajax 实例 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: jQuery 实例 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: XML 实例 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: Java 实例 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: HTML 字符集设置 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: HTML ASCII 字符集 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: JS 混淆/加密 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: PNG/JPEG 图片压缩 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: HTML 拾色器 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: JSON 格式化工具 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 随机数生成器 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 搭子(DuMate)... +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: QoderWake 入门教程 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: Obsidian 同步、... +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: Obsidian 工作流... +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: Obsidian 插件 +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: Obsidian 文件组... +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: Obsidian 双链与... +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: runoob.com +2026-05-30 14:47:22 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 闽ICP备15012807号-1 +2026-05-30 14:47:22 [main] INFO c.n.repository.ArticleRepository - 批量添加完成,成功添加179篇文章 +2026-05-30 14:47:22 [main] INFO c.newscrawler.service.CrawlerService - 爬取菜鸟教程资讯成功,获取179篇文章 +2026-05-30 14:47:38 [main] INFO com.newscrawler.util.JsonUtil - 成功导出217篇文章到data\全4.json +2026-05-30 14:49:00 [main] INFO c.n.repository.ArticleRepository - 清空仓库,删除了217篇文章 +2026-05-30 14:49:00 [main] INFO c.newscrawler.service.CrawlerService - 已清空所有文章 +2026-05-30 14:49:20 [main] INFO c.newscrawler.service.CrawlerService - 开始爬取单个站点: youth +2026-05-30 14:49:20 [main] INFO c.newscrawler.service.CrawlerService - 开始爬取: 知乎日报 - https://daily.zhihu.com/ +2026-05-30 14:49:20 [main] INFO c.n.strategy.AbstractBaseStrategy - 开始爬取站点: 知乎日报 +2026-05-30 14:49:20 [main] DEBUG c.n.strategy.AbstractBaseStrategy - 第1次尝试获取页面: https://daily.zhihu.com/ +2026-05-30 14:49:20 [main] INFO c.n.strategy.AbstractBaseStrategy - 开始解析知乎日报页面,HTML长度: 12793 +2026-05-30 14:49:20 [main] INFO c.n.strategy.AbstractBaseStrategy - 页面共有 39 个链接 +2026-05-30 14:49:20 [main] INFO c.n.strategy.AbstractBaseStrategy - 初步解析到37条资讯 +2026-05-30 14:49:20 [main] INFO c.n.strategy.AbstractBaseStrategy - 知乎日报最终解析到20条资讯 +2026-05-30 14:49:20 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 浏览内容 +2026-05-30 14:49:20 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: App 下载 +2026-05-30 14:49:20 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 知乎日报 +2026-05-30 14:49:20 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: iOS 版 +2026-05-30 14:49:20 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 文学创作会不会受到 AI 的冲击? +2026-05-30 14:49:20 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 为什么说西西弗斯面对巨石,不断推上山是一种超越和蔑视? +2026-05-30 14:49:20 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 有哪些看起来很高端的技术其实原理很暴力很初级? +2026-05-30 14:49:20 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 中国古代官方不重视理工科吗,如果是,为什么? +2026-05-30 14:49:20 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 为什么人类不能自身合成维生素C? +2026-05-30 14:49:20 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 林黛玉被妙玉嫌弃太俗,却不敢反驳,她怼贾宝玉的劲儿哪去了? +2026-05-30 14:49:20 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 魏博没有山川险阻,靠什么屹立150年。甚至长期成为最强藩? +2026-05-30 14:49:20 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 瞎扯 · 如何正确地吐槽 +2026-05-30 14:49:20 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 为什么松鼠的动作总是一顿一顿的?像卡帧一样? +2026-05-30 14:49:20 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 既有 F=ma,又有F=kx,那么物理公式到底要求等号左边是因还是果? +2026-05-30 14:49:20 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 西安唐代城门恢复为何不学洛阳,丹凤门像土黄色纸壳子,明德门像塑料玩具? +2026-05-30 14:49:20 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 瞎扯 · 如何正确地吐槽 +2026-05-30 14:49:20 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 游牧民族几乎没有碳水来源,为什么没有营养不良? +2026-05-30 14:49:20 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 为什么压力单位这么混乱? +2026-05-30 14:49:20 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 为什么会有好奇害死猫这个说法? +2026-05-30 14:49:20 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 瞎扯 · 如何正确地吐槽 +2026-05-30 14:49:20 [main] INFO c.n.repository.ArticleRepository - 批量添加完成,成功添加20篇文章 +2026-05-30 14:49:20 [main] INFO c.newscrawler.service.CrawlerService - 爬取知乎日报成功,获取20篇文章 +2026-05-30 14:49:27 [main] INFO com.newscrawler.util.JsonUtil - 成功导出18篇文章到data\知乎1.json +2026-05-30 14:50:30 [main] INFO com.newscrawler.util.JsonUtil - 从data\知乎1.json导入18篇文章,去重后保留18篇 +2026-05-30 14:50:30 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 浏览内容 +2026-05-30 14:50:30 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: App 下载 +2026-05-30 14:50:30 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 知乎日报 +2026-05-30 14:50:30 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: iOS 版 +2026-05-30 14:50:30 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 文学创作会不会受到 AI 的冲击? +2026-05-30 14:50:30 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 为什么说西西弗斯面对巨石,不断推上山是一种超越和蔑视? +2026-05-30 14:50:30 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 有哪些看起来很高端的技术其实原理很暴力很初级? +2026-05-30 14:50:30 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 中国古代官方不重视理工科吗,如果是,为什么? +2026-05-30 14:50:30 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 为什么人类不能自身合成维生素C? +2026-05-30 14:50:30 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 林黛玉被妙玉嫌弃太俗,却不敢反驳,她怼贾宝玉的劲儿哪去了? +2026-05-30 14:50:30 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 魏博没有山川险阻,靠什么屹立150年。甚至长期成为最强藩? +2026-05-30 14:50:30 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 瞎扯 · 如何正确地吐槽 +2026-05-30 14:50:30 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 为什么松鼠的动作总是一顿一顿的?像卡帧一样? +2026-05-30 14:50:30 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 既有 F=ma,又有F=kx,那么物理公式到底要求等号左边是因还是果? +2026-05-30 14:50:30 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 西安唐代城门恢复为何不学洛阳,丹凤门像土黄色纸壳子,明德门像塑料玩具? +2026-05-30 14:50:30 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 游牧民族几乎没有碳水来源,为什么没有营养不良? +2026-05-30 14:50:30 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 为什么压力单位这么混乱? +2026-05-30 14:50:30 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 为什么会有好奇害死猫这个说法? +2026-05-30 14:50:30 [main] INFO c.n.repository.ArticleRepository - 批量添加完成,成功添加18篇文章 +2026-05-30 14:55:33 [main] WARN c.n.repository.ArticleRepository - 尝试用空ID删除文章 +2026-05-30 14:58:24 [main] INFO com.newscrawler.Main - ========== 增强版Java资讯爬虫启动 ========== +2026-05-30 14:58:45 [main] WARN c.n.repository.ArticleRepository - 尝试用空ID删除文章 +2026-05-30 14:59:55 [com.newscrawler.Main.main()] INFO com.newscrawler.Main - ========== 增强版Java资讯爬虫启动 ========== +2026-05-30 15:00:25 [main] INFO com.newscrawler.Main - ========== 增强版Java资讯爬虫启动 ========== +2026-05-30 15:02:30 [main] INFO com.newscrawler.Main - 资讯爬虫启动 +2026-05-30 15:03:00 [main] INFO com.newscrawler.Main - 资讯爬虫启动 +2026-05-30 15:03:13 [main] INFO c.newscrawler.service.CrawlerService - 开始爬取单个站点: youth +2026-05-30 15:03:13 [main] INFO c.newscrawler.service.CrawlerService - 开始爬取: 知乎日报 - https://daily.zhihu.com/ +2026-05-30 15:03:13 [main] INFO c.n.strategy.AbstractBaseStrategy - 开始爬取站点: 知乎日报 +2026-05-30 15:03:13 [main] DEBUG c.n.strategy.AbstractBaseStrategy - 第1次尝试获取页面: https://daily.zhihu.com/ +2026-05-30 15:03:14 [main] INFO c.n.strategy.AbstractBaseStrategy - 开始解析知乎日报页面,HTML长度: 12793 +2026-05-30 15:03:14 [main] INFO c.n.strategy.AbstractBaseStrategy - 页面共有 39 个链接 +2026-05-30 15:03:14 [main] INFO c.n.strategy.AbstractBaseStrategy - 初步解析到37条资讯 +2026-05-30 15:03:14 [main] INFO c.n.strategy.AbstractBaseStrategy - 知乎日报最终解析到20条资讯 +2026-05-30 15:03:14 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 浏览内容 +2026-05-30 15:03:14 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: App 下载 +2026-05-30 15:03:14 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 知乎日报 +2026-05-30 15:03:14 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: iOS 版 +2026-05-30 15:03:14 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 文学创作会不会受到 AI 的冲击? +2026-05-30 15:03:14 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 为什么说西西弗斯面对巨石,不断推上山是一种超越和蔑视? +2026-05-30 15:03:14 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 有哪些看起来很高端的技术其实原理很暴力很初级? +2026-05-30 15:03:14 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 中国古代官方不重视理工科吗,如果是,为什么? +2026-05-30 15:03:14 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 为什么人类不能自身合成维生素C? +2026-05-30 15:03:14 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 林黛玉被妙玉嫌弃太俗,却不敢反驳,她怼贾宝玉的劲儿哪去了? +2026-05-30 15:03:14 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 魏博没有山川险阻,靠什么屹立150年。甚至长期成为最强藩? +2026-05-30 15:03:14 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 瞎扯 · 如何正确地吐槽 +2026-05-30 15:03:14 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 为什么松鼠的动作总是一顿一顿的?像卡帧一样? +2026-05-30 15:03:14 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 既有 F=ma,又有F=kx,那么物理公式到底要求等号左边是因还是果? +2026-05-30 15:03:14 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 西安唐代城门恢复为何不学洛阳,丹凤门像土黄色纸壳子,明德门像塑料玩具? +2026-05-30 15:03:14 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 瞎扯 · 如何正确地吐槽 +2026-05-30 15:03:14 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 游牧民族几乎没有碳水来源,为什么没有营养不良? +2026-05-30 15:03:14 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 为什么压力单位这么混乱? +2026-05-30 15:03:14 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 为什么会有好奇害死猫这个说法? +2026-05-30 15:03:14 [main] DEBUG c.n.repository.ArticleRepository - 文章已存在,跳过: 瞎扯 · 如何正确地吐槽 +2026-05-30 15:03:14 [main] INFO c.n.repository.ArticleRepository - 批量添加完成,成功添加20篇文章 +2026-05-30 15:03:14 [main] INFO c.newscrawler.service.CrawlerService - 爬取知乎日报成功,获取20篇文章 +2026-05-30 15:03:36 [main] DEBUG c.n.repository.ArticleRepository - 通过ID删除文章: f6d2a014-9113-4140-a5a4-54ad6901ea7a +2026-05-30 15:05:03 [main] INFO c.n.repository.ArticleRepository - 清空仓库,删除了17篇文章 +2026-05-30 15:05:03 [main] INFO c.newscrawler.service.CrawlerService - 已清空所有文章 +2026-05-30 15:11:06 [main] INFO c.newscrawler.service.CrawlerService - 开始爬取单个站点: runoob +2026-05-30 15:11:06 [main] INFO c.newscrawler.service.CrawlerService - 开始爬取: 菜鸟教程资讯 - https://www.runoob.com/ +2026-05-30 15:11:06 [main] INFO c.n.strategy.AbstractBaseStrategy - 开始爬取站点: 菜鸟教程资讯 +2026-05-30 15:11:06 [main] DEBUG c.n.strategy.AbstractBaseStrategy - 第1次尝试获取页面: https://www.runoob.com/ +2026-05-30 15:11:06 [main] INFO c.n.strategy.AbstractBaseStrategy - 菜鸟教程解析到179条资讯 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 菜鸟教程 -- 学的不仅是技术,更是梦想! +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: HTML 手册 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: Javascript +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: CSS 1,2,3 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: Zepto 中文手册 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: Flat UI +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: PostgreSQL 手册 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: HTML 测验 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: HTML5 测验 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: XHTML 测验 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: CSS 测验 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: jQuery 测验 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: XML 测验 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: ASP 测验 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: PHP 测验 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: SQL 测验 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: Python 测验 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Python】 Python3 是当前主流 Python 版本。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Python2.x】 Python 经典版本。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 FastAPI】 现代高性能 Python API 框架。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Flask】 轻量级 Python Web 应用框架。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Django】 全功能 Python Web 开发框架。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 NumPy】 Python 科学计算核心库。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Pandas】 Python 数据分析核心库。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 SciPy】 Python 数学与科学计算工具包。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Matplotlib】 Python 数据可视化绘图库。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Dash】 Python 数据分析与可视化 Web 框架。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Jupyter Notebook】 交互式数据分析与计算工具。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Pillow】 Python 图像处理库。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【量化交易】 利用程序化策略进行金融交易。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 R】 用于统计分析与数据科学的编程语言。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Julia】 面向科学计算的高性能语言。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【AI Agent(智能体)】 AI Agent 让模型不只回答问题,而是按步骤完成动作。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【Skills(技能)】 Skills 让智能体具备特定能力与工作流。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【Codex 教程】 OpenAI 推出的 AI 编程协作工具。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【Claude Code】 Anthropic 推出的 AI 编程协作工具。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【OpenCode】 开源 AI 编程协作工具。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Ollama】 开源本地大语言模型运行框架。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 TensorFlow】 TensorFlow 是一个开源机器学习框架。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 PyTorch】 PyTorch 是一个开源机器学习框架。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Scikit-learn】 Scikit-learn 是一个开源机器学习库。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【机器学习】 机器学习是让机器通过数据进行预测与决策。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【LangChain】 用于构建基于大语言模型的应用程序的框架。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【自然语言处理 NLP】 自然语言处理是人工智能与语言学的交叉领域。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 OpenCV】 开源计算机视觉与机器学习软件库。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Selenium】 自动化 Web 浏览器操作工具。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Playwright】 现代 Web 自动化与端到端测试框架。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 HTML】 HTML 是网页的标准标记语言。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 HTML5】 下一代 HTML 标准。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 CSS】 网页样式与布局语言。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 CSS3】 CSS3 是 CSS 技术升级版本。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 JavaScript】 Web 核心编程语言。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 HTML DOM】 HTML DOM 定义了访问和操作 HTML 文档的标准方法。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 TypeScript】 JavaScript 的超集语言。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 AJAX】 异步 Web 数据交互技术。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 JSON】 数据交换标准格式。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Tailwind CSS】 实用优先 CSS 框架。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Bootstrap4】 经典响应式前端框架。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Bootstrap5】 最新 Bootstrap 前端框架。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Foundation】 响应式 HTML、CSS 与 JavaScript 框架。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Vue.js】 渐进式前端框架。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Vue3】 新一代 Vue 前端框架。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 React】 用于构建 UI 的 JavaScript 库。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Next.js】 基于 React 的全栈框架。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 AngularJS】 Google 推出的经典前端框架。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Angular】 现代 Angular 前端框架。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 jQuery】 经典 JavaScript 工具库。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 jQuery UI】 基于 jQuery 的 UI 组件库。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 jQuery EasyUI】 基于 jQuery 的 UI 框架。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 ECharts】 开源数据可视化图表库。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Chart.js】 轻量级 JavaScript 图表库。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Highcharts】 高级交互式图表库。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Google 地图】 Google Maps API 使用教程。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 SVG】 基于 XML 的矢量图格式。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Font Awesome】 流行图标字体库。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Node.js】 服务端 JavaScript 运行环境。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Electron】 基于 Web 技术开发跨平台桌面应用。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 PHP】 经典 Web 服务端语言。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Java】 企业级开发主流语言。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Go】 Google 推出的现代服务端语言。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Rust】 高性能系统级编程语言。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 C#】 .NET 核心开发语言。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Servlet】 Java Web 服务端技术。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 JSP】 Java 服务端页面技术。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 ASP】 经典动态服务器页面技术。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 AppML】 轻量级 Web 应用框架。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 VBScript】 微软经典脚本语言。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Swagger】 API 文档与测试工具。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 RESTful API】 现代 API 设计规范。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Docker】 容器化应用部署平台。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Linux】 主流服务器操作系统。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 ZooKeeper】 分布式协调服务。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 SQL】 结构化查询语言。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 MySQL】 流行关系型数据库。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 PostgreSQL】 高级开源关系型数据库。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 SQLite】 轻量级嵌入式数据库。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 MongoDB】 主流 NoSQL 数据库。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Redis】 高性能内存数据库。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Memcached】 分布式缓存系统。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Android】 Android 移动开发平台。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Flutter】 Google 跨平台 UI 框架。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Ionic】 HTML5 混合移动开发框架。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 jQuery Mobile】 移动端 Web UI 框架。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Swift】 Apple 官方开发语言。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Kotlin】 Android 官方开发语言。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Git】 分布式版本控制系统。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 SVN】 集中式版本控制系统。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 CMake】 跨平台构建工具。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Maven】 Java 项目构建工具。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 VS Code】 现代代码编辑器。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Obsidian】 现代化笔记应用。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 PyCharm】 Python 专业 IDE。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Eclipse】 经典 Java IDE。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Markdown】 轻量级标记语言。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 C】 经典系统级编程语言。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 C++】 高性能通用编程语言。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Zig】 现代系统级编程语言。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Scala】 运行于 JVM 的多范式语言。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Ruby】 优雅简洁的脚本语言。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Perl】 经典文本处理语言。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Lua】 轻量级嵌入式脚本语言。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习汇编语言】 面向硬件的低级语言。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Verilog】 数字电路硬件描述语言。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【数据结构与算法】 计算机核心基础知识。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【设计模式】 经典软件设计思想。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【Python 设计模式】 Python 面向对象设计实践。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【正则表达式】 字符串匹配与文本处理。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 HTTP】 Web 通信协议。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 TCP/IP】 互联网通信协议族。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【网络协议】 计算机网络通信规则。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 W3C】 Web 标准组织。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 XML】 数据交换与存储格式。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 DTD】 XML 文档类型定义。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 XML DOM】 XML 文档操作标准。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 XSLT】 XML 转换语言。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 XPath】 XML 节点查询语言。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 XQuery】 XML 查询语言。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 XLink】 XML 超链接标准。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 XPointer】 XML 数据定位语言。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 XML Schema】 XML 文档结构定义。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 XSL-FO】 XML 格式化对象语言。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Web Service】 基于网络的服务接口技术。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 WSDL】 Web Service 描述语言。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 SOAP】 基于 XML 的通信协议。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 RSS】 内容聚合订阅协议。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 RDF】 资源描述框架。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 ASP.NET】 .NET Web 开发框架。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 MVC】 MVC 架构模式。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Razor】 .NET 模板引擎。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Web Forms】 经典 ASP.NET 开发模式。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 Web Pages】 ASP.NET Web Pages 开发模式。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【学习 PowerShell】 微软自动化脚本环境。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【网站建设指南】 网站开发与建设基础教程。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【浏览器信息】 浏览器市场与兼容性信息。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【网站主机教程】 网站部署与服务器托管。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 【网站品质】 构建高质量网站。 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: HTML 实例 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: CSS 实例 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: JavaScript 实例 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: Ajax 实例 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: jQuery 实例 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: XML 实例 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: Java 实例 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: HTML 字符集设置 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: HTML ASCII 字符集 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: JS 混淆/加密 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: PNG/JPEG 图片压缩 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: HTML 拾色器 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: JSON 格式化工具 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 随机数生成器 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 搭子(DuMate)... +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: QoderWake 入门教程 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: Obsidian 同步、... +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: Obsidian 工作流... +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: Obsidian 插件 +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: Obsidian 文件组... +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: Obsidian 双链与... +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: runoob.com +2026-05-30 15:11:06 [main] DEBUG c.n.repository.ArticleRepository - 添加文章: 闽ICP备15012807号-1 +2026-05-30 15:11:06 [main] INFO c.n.repository.ArticleRepository - 批量添加完成,成功添加179篇文章 +2026-05-30 15:11:06 [main] INFO c.newscrawler.service.CrawlerService - 爬取菜鸟教程资讯成功,获取179篇文章 +2026-05-30 15:30:24 [main] INFO com.newscrawler.Main - 资讯爬虫关闭 diff --git a/project/资讯爬虫/pom.xml b/project/资讯爬虫/pom.xml new file mode 100644 index 0000000..bc90a7f --- /dev/null +++ b/project/资讯爬虫/pom.xml @@ -0,0 +1,73 @@ + + + 4.0.0 + + com.newscrawler + news-crawler + 1.0.0 + jar + + News Crawler + 增强版Java资讯爬虫 + + + 17 + 17 + 17 + UTF-8 + 1.17.2 + 2.10.1 + 1.4.14 + 2.0.11 + + + + + org.jsoup + jsoup + ${jsoup.version} + + + + com.google.code.gson + gson + ${gson.version} + + + + ch.qos.logback + logback-classic + ${logback.version} + + + + org.slf4j + slf4j-api + ${slf4j.version} + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.11.0 + + ${java.version} + ${java.version} + + + + org.codehaus.mojo + exec-maven-plugin + 3.1.0 + + com.newscrawler.Main + + + + + diff --git a/project/资讯爬虫/src/main/java/com/newscrawler/Main.java b/project/资讯爬虫/src/main/java/com/newscrawler/Main.java new file mode 100644 index 0000000..135d66d --- /dev/null +++ b/project/资讯爬虫/src/main/java/com/newscrawler/Main.java @@ -0,0 +1,26 @@ +package com.newscrawler; + +import com.newscrawler.command.MenuCommand; +import com.newscrawler.service.CrawlerService; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public class Main { + private static final Logger logger = LoggerFactory.getLogger(Main.class); + + public static void main(String[] args) { + logger.info("资讯爬虫启动"); + + try { + CrawlerService crawlerService = new CrawlerService(); + MenuCommand menuCommand = new MenuCommand(crawlerService); + menuCommand.start(); + } catch (Exception e) { + logger.error("程序执行异常", e); + System.err.println("程序执行失败: " + e.getMessage()); + System.exit(1); + } + + logger.info("资讯爬虫关闭"); + } +} diff --git a/project/资讯爬虫/src/main/java/com/newscrawler/command/MenuCommand.java b/project/资讯爬虫/src/main/java/com/newscrawler/command/MenuCommand.java new file mode 100644 index 0000000..63cb85d --- /dev/null +++ b/project/资讯爬虫/src/main/java/com/newscrawler/command/MenuCommand.java @@ -0,0 +1,361 @@ +package com.newscrawler.command; + +import com.newscrawler.entity.Article; +import com.newscrawler.entity.CrawlHistory; +import com.newscrawler.exception.CrawlerException; +import com.newscrawler.service.CrawlerService; +import com.newscrawler.util.JsonUtil; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Scanner; +import java.util.Set; +import java.util.stream.Collectors; + +public class MenuCommand { + private static final Logger logger = LoggerFactory.getLogger(MenuCommand.class); + private final CrawlerService crawlerService; + private final Scanner scanner; + + public MenuCommand(CrawlerService crawlerService) { + this.crawlerService = crawlerService; + this.scanner = new Scanner(System.in); + } + + public void start() { + boolean running = true; + while (running) { + showMainMenu(); + String input = scanner.nextLine().trim(); + running = handleMainMenu(input); + } + System.out.println("感谢使用资讯爬虫,再见!"); + } + + private void showMainMenu() { + System.out.println("\n========== 请选择你要执行的操作 =========="); + System.out.println("1. 爬取菜鸟教程资讯"); + System.out.println("2. 爬取知乎日报"); + System.out.println("3. 爬取搜狐资讯"); + System.out.println("4. 批量爬取全部站点"); + System.out.println("5. 查看全部资讯"); + System.out.println("6. 数据统计"); + System.out.println("7. 爬取历史"); + System.out.println("8. 数据导入/导出"); + System.out.println("9. 数据管理(删除/清空)"); + System.out.println("0. 退出程序"); + System.out.print("请输入选项: "); + } + + private boolean handleMainMenu(String input) { + try { + switch (input) { + case "1": + crawlSite("runoob"); + break; + case "2": + crawlSite("youth"); + break; + case "3": + crawlSite("sohu"); + break; + case "4": + crawlAllSites(); + break; + case "5": + viewAllArticles(); + break; + case "6": + showStatistics(); + break; + case "7": + showCrawlHistory(); + break; + case "8": + handleImportExport(); + break; + case "9": + manageData(); + break; + case "0": + return false; + default: + System.out.println("无效选项,请输入0-9之间的数字"); + } + } catch (Exception e) { + System.out.println("操作出错: " + e.getMessage()); + logger.error("菜单操作异常", e); + } + return true; + } + + private void crawlSite(String siteKey) throws CrawlerException { + System.out.println("正在爬取,请稍候..."); + List
articles = crawlerService.crawlSingleSite(siteKey); + System.out.println("爬取完成!获取到 " + articles.size() + " 篇文章"); + } + + private void crawlAllSites() throws CrawlerException { + System.out.println("正在批量爬取所有站点,请稍候..."); + List
articles = crawlerService.crawlAllSites(); + System.out.println("批量爬取完成!共获取到 " + articles.size() + " 篇文章"); + } + + private void viewAllArticles() { + List
articles = crawlerService.getAllArticles(); + if (articles.isEmpty()) { + System.out.println("暂无资讯,请先爬取数据"); + return; + } + printArticles(articles); + } + + private void showStatistics() { + Map stats = crawlerService.getStatistics(); + System.out.println("\n=== 数据统计 ==="); + stats.forEach((source, count) -> System.out.println(source + ": " + count + " 条")); + } + + private void showCrawlHistory() { + List histories = crawlerService.getCrawlHistories(); + if (histories.isEmpty()) { + System.out.println("暂无爬取历史"); + return; + } + System.out.println("\n=== 爬取历史 ==="); + histories.forEach(h -> System.out.println(h.toString())); + } + + private void handleImportExport() { + System.out.println("\n=== 数据导入/导出 ==="); + System.out.println("1. 导出数据到JSON"); + System.out.println("2. 从JSON导入数据"); + System.out.print("选择: "); + String choice = scanner.nextLine().trim(); + + switch (choice) { + case "1" -> exportToJson(); + case "2" -> importFromJson(); + default -> System.out.println("无效选择"); + } + } + + private void exportToJson() { + List
articles = crawlerService.getAllArticles(); + if (articles.isEmpty()) { + System.out.println("暂无数据可导出,请先爬取数据"); + return; + } + + Set sources = articles.stream() + .map(Article::getSource) + .filter(Objects::nonNull) + .collect(Collectors.toSet()); + + String prefix; + if (sources.size() > 1) { + prefix = "全"; + } else if (sources.contains("菜鸟教程资讯")) { + prefix = "菜鸟"; + } else if (sources.contains("知乎日报")) { + prefix = "知乎"; + } else if (sources.contains("搜狐资讯")) { + prefix = "搜狐"; + } else { + prefix = "articles"; + } + + String filename = generateNumberedFilename(prefix); + + try { + JsonUtil.exportToJson(articles, filename); + System.out.println("导出成功: " + filename); + } catch (Exception e) { + System.out.println("导出失败: " + e.getMessage()); + logger.error("导出JSON失败", e); + } + } + + private String generateNumberedFilename(String prefix) { + java.io.File dir = new java.io.File("data"); + if (!dir.exists()) { + return prefix + "1.json"; + } + + java.io.File[] files = dir.listFiles((d, name) -> name.startsWith(prefix) && name.endsWith(".json")); + if (files == null || files.length == 0) { + return prefix + "1.json"; + } + + int maxNum = 0; + for (java.io.File file : files) { + String name = file.getName(); + try { + String numStr = name.substring(prefix.length(), name.length() - 5); + int num = Integer.parseInt(numStr); + if (num > maxNum) { + maxNum = num; + } + } catch (NumberFormatException ignored) { + } + } + + return prefix + (maxNum + 1) + ".json"; + } + + private void importFromJson() { + java.io.File dir = new java.io.File("data"); + if (!dir.exists()) { + System.out.println("当前目录下没有JSON文件,请先导出数据"); + return; + } + + java.io.File[] files = dir.listFiles((d, name) -> name.endsWith(".json")); + + if (files == null || files.length == 0) { + System.out.println("当前目录下没有JSON文件,请先导出数据"); + return; + } + + System.out.println("\n当前目录下的JSON文件:"); + for (int i = 0; i < files.length; i++) { + String name = files[i].getName(); + System.out.println((i + 1) + ". " + name); + } + + System.out.print("\n请输入要导入的文件编号,或输入0返回: "); + String input = scanner.nextLine().trim(); + + if ("0".equals(input)) { + return; + } + + if (input.isEmpty()) { + System.out.println("输入不能为空"); + return; + } + + int index; + try { + index = Integer.parseInt(input) - 1; + } catch (NumberFormatException e) { + System.out.println("请输入有效的数字编号"); + return; + } + + if (index < 0 || index >= files.length) { + System.out.println("编号超出范围"); + return; + } + + String filename = files[index].getName(); + + try { + List
articles = JsonUtil.importFromJson(filename); + crawlerService.getRepository().addAll(articles); + System.out.println("导入成功: " + articles.size() + " 篇文章(已自动去重)"); + } catch (Exception e) { + System.out.println("导入失败: " + e.getMessage()); + logger.error("导入JSON失败", e); + } + } + + private void manageData() { + System.out.println("\n=== 数据管理 ==="); + System.out.println("1. 删除单条资讯"); + System.out.println("2. 清空所有资讯"); + System.out.print("选择: "); + String choice = scanner.nextLine().trim(); + + switch (choice) { + case "1" -> deleteSingleArticle(); + case "2" -> clearAllArticles(); + default -> System.out.println("无效选择"); + } + } + + private void deleteSingleArticle() { + List
articles = crawlerService.getAllArticles(); + if (articles.isEmpty()) { + System.out.println("暂无资讯可删除"); + return; + } + + System.out.println("\n=== 当前数据库中的资讯 ==="); + for (int i = 0; i < articles.size(); i++) { + Article article = articles.get(i); + System.out.printf("[%d] %s%n", i + 1, article.getTitle()); + System.out.println(" 来源: " + article.getSource()); + if (article.getPublishDate() != null && !article.getPublishDate().isEmpty()) { + System.out.println(" 时间: " + article.getPublishDate()); + } + System.out.println("-".repeat(60)); + } + + System.out.print("\n请输入要删除的文章编号(输入0取消): "); + String input = scanner.nextLine().trim(); + + if ("0".equals(input)) { + System.out.println("已取消操作"); + return; + } + + int index; + try { + index = Integer.parseInt(input) - 1; + } catch (NumberFormatException e) { + System.out.println("请输入有效的数字"); + return; + } + + if (index < 0 || index >= articles.size()) { + System.out.println("编号超出范围"); + return; + } + + Article articleToDelete = articles.get(index); + if (crawlerService.removeArticle(articleToDelete.getId())) { + System.out.println("删除成功: " + articleToDelete.getTitle()); + } else { + System.out.println("删除失败"); + } + } + + private void clearAllArticles() { + System.out.print("确定要清空所有数据吗?(y/n): "); + String confirm = scanner.nextLine().trim().toLowerCase(); + if ("y".equals(confirm)) { + crawlerService.clearAllArticles(); + System.out.println("已清空所有数据"); + } else { + System.out.println("已取消操作"); + } + } + + private void printArticles(List
articles) { + System.out.println("-".repeat(80)); + for (int i = 0; i < articles.size(); i++) { + Article article = articles.get(i); + System.out.printf("[%d] %s%n", i + 1, article.getTitle()); + System.out.println(" 来源: " + article.getSource()); + if (article.getAuthor() != null && !article.getAuthor().isEmpty()) { + System.out.println(" 作者: " + article.getAuthor()); + } + if (article.getPublishDate() != null && !article.getPublishDate().isEmpty()) { + System.out.println(" 时间: " + article.getPublishDate()); + } + if (article.getSummary() != null && !article.getSummary().isEmpty()) { + String summary = article.getSummary(); + if (summary.length() > 50) { + summary = summary.substring(0, 50) + "..."; + } + System.out.println(" 摘要: " + summary); + } + System.out.println(" ID: " + article.getId()); + System.out.println("-".repeat(80)); + } + } +} \ No newline at end of file diff --git a/project/资讯爬虫/src/main/java/com/newscrawler/entity/Article.java b/project/资讯爬虫/src/main/java/com/newscrawler/entity/Article.java new file mode 100644 index 0000000..58d9b19 --- /dev/null +++ b/project/资讯爬虫/src/main/java/com/newscrawler/entity/Article.java @@ -0,0 +1,113 @@ +package com.newscrawler.entity; + +import java.util.Objects; +import java.util.UUID; + +public class Article { + private String id; + private String title; + private String summary; + private String publishDate; + private String articleUrl; + private String author; + private String source; + private String crawledAt; + + public Article() { + this.id = UUID.randomUUID().toString(); + this.crawledAt = java.time.LocalDateTime.now().toString(); + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getSummary() { + return summary; + } + + public void setSummary(String summary) { + this.summary = summary; + } + + public String getPublishDate() { + return publishDate; + } + + public void setPublishDate(String publishDate) { + this.publishDate = publishDate; + } + + public String getArticleUrl() { + return articleUrl; + } + + public void setArticleUrl(String articleUrl) { + this.articleUrl = articleUrl; + } + + public String getAuthor() { + return author; + } + + public void setAuthor(String author) { + this.author = author; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getCrawledAt() { + return crawledAt; + } + + public void setCrawledAt(String crawledAt) { + this.crawledAt = crawledAt; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + Article article = (Article) o; + return Objects.equals(title, article.title) && + Objects.equals(source, article.source) && + Objects.equals(publishDate, article.publishDate); + } + + @Override + public int hashCode() { + return Objects.hash(title, source, publishDate); + } + + @Override + public String toString() { + return "Article{" + + "id='" + id + '\'' + + ", title='" + title + '\'' + + ", summary='" + summary + '\'' + + ", publishDate='" + publishDate + '\'' + + ", articleUrl='" + articleUrl + '\'' + + ", author='" + author + '\'' + + ", source='" + source + '\'' + + ", crawledAt='" + crawledAt + '\'' + + '}'; + } +} diff --git a/project/资讯爬虫/src/main/java/com/newscrawler/entity/CrawlHistory.java b/project/资讯爬虫/src/main/java/com/newscrawler/entity/CrawlHistory.java new file mode 100644 index 0000000..b7ed7c9 --- /dev/null +++ b/project/资讯爬虫/src/main/java/com/newscrawler/entity/CrawlHistory.java @@ -0,0 +1,98 @@ +package com.newscrawler.entity; + +import java.time.LocalDateTime; + +public class CrawlHistory { + private String id; + private String siteName; + private String siteUrl; + private int articleCount; + private LocalDateTime crawlTime; + private boolean success; + private String errorMessage; + + public CrawlHistory() { + this.id = java.util.UUID.randomUUID().toString(); + this.crawlTime = LocalDateTime.now(); + this.success = true; + } + + public CrawlHistory(String siteName, String siteUrl) { + this(); + this.siteName = siteName; + this.siteUrl = siteUrl; + } + + public CrawlHistory(String siteName, String siteUrl, int articleCount, boolean success, String errorMessage) { + this(siteName, siteUrl); + this.articleCount = articleCount; + this.success = success; + this.errorMessage = errorMessage; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getSiteName() { + return siteName; + } + + public void setSiteName(String siteName) { + this.siteName = siteName; + } + + public String getSiteUrl() { + return siteUrl; + } + + public void setSiteUrl(String siteUrl) { + this.siteUrl = siteUrl; + } + + public int getArticleCount() { + return articleCount; + } + + public void setArticleCount(int articleCount) { + this.articleCount = articleCount; + } + + public LocalDateTime getCrawlTime() { + return crawlTime; + } + + public void setCrawlTime(LocalDateTime crawlTime) { + this.crawlTime = crawlTime; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public String getErrorMessage() { + return errorMessage; + } + + public void setErrorMessage(String errorMessage) { + this.errorMessage = errorMessage; + } + + @Override + public String toString() { + return String.format("[%s] %s - %s - %d条 - %s", + crawlTime.toString().replace("T", " "), + siteName, + success ? "成功" : "失败", + articleCount, + success ? "" : errorMessage); + } +} diff --git a/project/资讯爬虫/src/main/java/com/newscrawler/exception/CrawlerException.java b/project/资讯爬虫/src/main/java/com/newscrawler/exception/CrawlerException.java new file mode 100644 index 0000000..92f1a41 --- /dev/null +++ b/project/资讯爬虫/src/main/java/com/newscrawler/exception/CrawlerException.java @@ -0,0 +1,21 @@ +package com.newscrawler.exception; + +public class CrawlerException extends Exception { + private static final long serialVersionUID = 1L; + + public CrawlerException() { + super(); + } + + public CrawlerException(String message) { + super(message); + } + + public CrawlerException(String message, Throwable cause) { + super(message, cause); + } + + public CrawlerException(Throwable cause) { + super(cause); + } +} diff --git a/project/资讯爬虫/src/main/java/com/newscrawler/exception/NetworkException.java b/project/资讯爬虫/src/main/java/com/newscrawler/exception/NetworkException.java new file mode 100644 index 0000000..9340b1a --- /dev/null +++ b/project/资讯爬虫/src/main/java/com/newscrawler/exception/NetworkException.java @@ -0,0 +1,21 @@ +package com.newscrawler.exception; + +public class NetworkException extends CrawlerException { + private static final long serialVersionUID = 1L; + + public NetworkException() { + super(); + } + + public NetworkException(String message) { + super(message); + } + + public NetworkException(String message, Throwable cause) { + super(message, cause); + } + + public NetworkException(Throwable cause) { + super(cause); + } +} diff --git a/project/资讯爬虫/src/main/java/com/newscrawler/exception/ParseException.java b/project/资讯爬虫/src/main/java/com/newscrawler/exception/ParseException.java new file mode 100644 index 0000000..ec92f53 --- /dev/null +++ b/project/资讯爬虫/src/main/java/com/newscrawler/exception/ParseException.java @@ -0,0 +1,21 @@ +package com.newscrawler.exception; + +public class ParseException extends CrawlerException { + private static final long serialVersionUID = 1L; + + public ParseException() { + super(); + } + + public ParseException(String message) { + super(message); + } + + public ParseException(String message, Throwable cause) { + super(message, cause); + } + + public ParseException(Throwable cause) { + super(cause); + } +} diff --git a/project/资讯爬虫/src/main/java/com/newscrawler/repository/ArticleRepository.java b/project/资讯爬虫/src/main/java/com/newscrawler/repository/ArticleRepository.java new file mode 100644 index 0000000..45ca42b --- /dev/null +++ b/project/资讯爬虫/src/main/java/com/newscrawler/repository/ArticleRepository.java @@ -0,0 +1,126 @@ +package com.newscrawler.repository; + +import com.newscrawler.entity.Article; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; +import java.util.stream.Collectors; + +public class ArticleRepository { + private static final Logger logger = LoggerFactory.getLogger(ArticleRepository.class); + private final List
articles; + + public ArticleRepository() { + this.articles = new ArrayList<>(); + } + + public void add(Article article) { + if (article == null) { + logger.warn("尝试添加空文章到仓库"); + throw new IllegalArgumentException("文章不能为空"); + } + if (article.getTitle() == null || article.getTitle().trim().isEmpty()) { + logger.warn("尝试添加标题为空的文章"); + throw new IllegalArgumentException("文章标题不能为空"); + } + if (!exists(article)) { + articles.add(article); + logger.debug("添加文章: {}", article.getTitle()); + } else { + logger.debug("文章已存在,跳过: {}", article.getTitle()); + } + } + + public void addAll(Collection
articlesToAdd) { + if (articlesToAdd == null) { + logger.warn("尝试添加空集合到仓库"); + throw new IllegalArgumentException("文章集合不能为空"); + } + int count = 0; + for (Article article : articlesToAdd) { + try { + add(article); + count++; + } catch (IllegalArgumentException e) { + logger.warn("跳过无效文章: {}", e.getMessage()); + } + } + logger.info("批量添加完成,成功添加{}篇文章", count); + } + + public boolean remove(Article article) { + if (article == null) { + logger.warn("尝试删除空文章"); + return false; + } + boolean removed = articles.remove(article); + if (removed) { + logger.debug("删除文章: {}", article.getTitle()); + } + return removed; + } + + public boolean removeById(String id) { + if (id == null || id.trim().isEmpty()) { + logger.warn("尝试用空ID删除文章"); + return false; + } + boolean removed = articles.removeIf(a -> a.getId().equals(id)); + if (removed) { + logger.debug("通过ID删除文章: {}", id); + } + return removed; + } + + public void clear() { + int size = articles.size(); + articles.clear(); + logger.info("清空仓库,删除了{}篇文章", size); + } + + public List
getAll() { + return new ArrayList<>(articles); + } + + public List
findBySource(String source) { + if (source == null || source.trim().isEmpty()) { + logger.warn("使用空来源查询"); + return new ArrayList<>(); + } + return articles.stream() + .filter(a -> a.getSource() != null && a.getSource().contains(source)) + .collect(Collectors.toList()); + } + + public boolean exists(Article article) { + if (article == null) { + return false; + } + return articles.contains(article); + } + + public int size() { + return articles.size(); + } + + public boolean isEmpty() { + return articles.isEmpty(); + } + + public long countBySource(String source) { + return findBySource(source).size(); + } + + public Article findById(String id) { + if (id == null || id.trim().isEmpty()) { + return null; + } + return articles.stream() + .filter(a -> a.getId().equals(id)) + .findFirst() + .orElse(null); + } +} \ No newline at end of file diff --git a/project/资讯爬虫/src/main/java/com/newscrawler/service/CrawlerService.java b/project/资讯爬虫/src/main/java/com/newscrawler/service/CrawlerService.java new file mode 100644 index 0000000..d715f03 --- /dev/null +++ b/project/资讯爬虫/src/main/java/com/newscrawler/service/CrawlerService.java @@ -0,0 +1,113 @@ +package com.newscrawler.service; + +import com.newscrawler.entity.Article; +import com.newscrawler.entity.CrawlHistory; +import com.newscrawler.exception.CrawlerException; +import com.newscrawler.exception.ParseException; +import com.newscrawler.repository.ArticleRepository; +import com.newscrawler.strategy.CrawlStrategy; +import com.newscrawler.strategy.StrategyFactory; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +public class CrawlerService { + private static final Logger logger = LoggerFactory.getLogger(CrawlerService.class); + + private final ArticleRepository repository; + private final List crawlHistories; + + public CrawlerService() { + this.repository = new ArticleRepository(); + this.crawlHistories = new ArrayList<>(); + } + + public List
crawlSingleSite(String siteKey) throws CrawlerException { + logger.info("开始爬取单个站点: {}", siteKey); + CrawlStrategy strategy = StrategyFactory.getStrategy(siteKey); + return executeCrawl(strategy); + } + + public List
crawlAllSites() throws CrawlerException { + logger.info("开始批量爬取所有站点"); + List
allArticles = new ArrayList<>(); + Map strategies = StrategyFactory.getAllStrategies(); + + for (Map.Entry entry : strategies.entrySet()) { + try { + List
articles = executeCrawl(entry.getValue()); + allArticles.addAll(articles); + } catch (CrawlerException e) { + logger.error("爬取站点{}失败: {}", entry.getKey(), e.getMessage()); + } + } + + logger.info("批量爬取完成,共获取{}篇文章", allArticles.size()); + return allArticles; + } + + private List
executeCrawl(CrawlStrategy strategy) throws CrawlerException { + String siteName = strategy.getSiteName(); + String siteUrl = strategy.getSiteUrl(); + List
articles = new ArrayList<>(); + + try { + logger.info("开始爬取: {} - {}", siteName, siteUrl); + articles = strategy.crawl(); + repository.addAll(articles); + + CrawlHistory history = new CrawlHistory(siteName, siteUrl, articles.size(), true, null); + crawlHistories.add(history); + + logger.info("爬取{}成功,获取{}篇文章", siteName, articles.size()); + } catch (ParseException e) { + CrawlHistory history = new CrawlHistory(siteName, siteUrl, 0, false, e.getMessage()); + crawlHistories.add(history); + logger.error("爬取{}失败: {}", siteName, e.getMessage()); + throw e; + } + + return articles; + } + + public ArticleRepository getRepository() { + return repository; + } + + public List getCrawlHistories() { + return new ArrayList<>(crawlHistories); + } + + public List
getAllArticles() { + return repository.getAll(); + } + + public List
getArticlesBySource(String source) { + return repository.findBySource(source); + } + + public boolean removeArticle(String id) { + return repository.removeById(id); + } + + public void clearAllArticles() { + repository.clear(); + logger.info("已清空所有文章"); + } + + public Map getStatistics() { + Map stats = repository.getAll().stream() + .collect(Collectors.groupingBy(Article::getSource, Collectors.counting())); + stats.put("总计", (long) repository.size()); + return stats; + } + + public void clearHistory() { + crawlHistories.clear(); + logger.info("已清空爬取历史"); + } +} \ No newline at end of file diff --git a/project/资讯爬虫/src/main/java/com/newscrawler/strategy/AbstractBaseStrategy.java b/project/资讯爬虫/src/main/java/com/newscrawler/strategy/AbstractBaseStrategy.java new file mode 100644 index 0000000..93cf710 --- /dev/null +++ b/project/资讯爬虫/src/main/java/com/newscrawler/strategy/AbstractBaseStrategy.java @@ -0,0 +1,83 @@ +package com.newscrawler.strategy; + +import com.newscrawler.entity.Article; +import com.newscrawler.exception.NetworkException; +import com.newscrawler.exception.ParseException; +import org.jsoup.Jsoup; +import org.jsoup.nodes.Document; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +public abstract class AbstractBaseStrategy implements CrawlStrategy { + protected static final Logger logger = LoggerFactory.getLogger(AbstractBaseStrategy.class); + protected static final int MAX_RETRIES = 3; + protected static final int RETRY_DELAY_MS = 2000; + protected static final int TIMEOUT_MS = 30000; + + @Override + public List
crawl() throws ParseException { + logger.info("开始爬取站点: {}", getSiteName()); + String html = fetchWithRetry(); + if (html == null || html.isEmpty()) { + throw new ParseException("获取HTML内容为空"); + } + return parseHtml(html); + } + + protected String fetchWithRetry() throws ParseException { + int attempts = 0; + Exception lastException = null; + + while (attempts < MAX_RETRIES) { + try { + attempts++; + logger.debug("第{}次尝试获取页面: {}", attempts, getSiteUrl()); + Document doc = Jsoup.connect(getSiteUrl()) + .timeout(TIMEOUT_MS) + .userAgent("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36") + .get(); + return doc.html(); + } catch (IOException e) { + lastException = e; + logger.warn("第{}次尝试失败: {}", attempts, e.getMessage()); + if (attempts < MAX_RETRIES) { + try { + Thread.sleep(RETRY_DELAY_MS * attempts); + } catch (InterruptedException ie) { + Thread.currentThread().interrupt(); + throw new ParseException("爬取被中断", ie); + } + } + } + } + + NetworkException networkEx = new NetworkException("网络请求失败,已重试" + MAX_RETRIES + "次", lastException); + logger.error("网络请求最终失败: {}", networkEx.getMessage()); + throw new ParseException("获取页面失败", networkEx); + } + + protected abstract List
parseHtml(String html) throws ParseException; + + protected List
createArticles(List titles, List summaries, + List publishDates, List articleUrls, + List authors) { + List
articles = new ArrayList<>(); + int size = titles.size(); + + for (int i = 0; i < size; i++) { + Article article = new Article(); + article.setTitle(i < titles.size() ? titles.get(i) : ""); + article.setSummary(i < summaries.size() ? summaries.get(i) : ""); + article.setPublishDate(i < publishDates.size() ? publishDates.get(i) : ""); + article.setArticleUrl(i < articleUrls.size() ? articleUrls.get(i) : ""); + article.setAuthor(i < authors.size() ? authors.get(i) : ""); + article.setSource(getSiteName()); + articles.add(article); + } + return articles; + } +} diff --git a/project/资讯爬虫/src/main/java/com/newscrawler/strategy/CrawlStrategy.java b/project/资讯爬虫/src/main/java/com/newscrawler/strategy/CrawlStrategy.java new file mode 100644 index 0000000..a25f4db --- /dev/null +++ b/project/资讯爬虫/src/main/java/com/newscrawler/strategy/CrawlStrategy.java @@ -0,0 +1,14 @@ +package com.newscrawler.strategy; + +import com.newscrawler.entity.Article; +import com.newscrawler.exception.ParseException; + +import java.util.List; + +public interface CrawlStrategy { + String getSiteName(); + + String getSiteUrl(); + + List
crawl() throws ParseException; +} diff --git a/project/资讯爬虫/src/main/java/com/newscrawler/strategy/RunoobStrategy.java b/project/资讯爬虫/src/main/java/com/newscrawler/strategy/RunoobStrategy.java new file mode 100644 index 0000000..33f7007 --- /dev/null +++ b/project/资讯爬虫/src/main/java/com/newscrawler/strategy/RunoobStrategy.java @@ -0,0 +1,93 @@ +package com.newscrawler.strategy; + +import com.newscrawler.entity.Article; +import com.newscrawler.exception.ParseException; +import org.jsoup.Jsoup; +import org.jsoup.nodes.Element; +import org.jsoup.select.Elements; + +import java.util.ArrayList; +import java.util.List; + +public class RunoobStrategy extends AbstractBaseStrategy { + private static final String SITE_NAME = "菜鸟教程资讯"; + private static final String SITE_URL = "https://www.runoob.com/"; + + @Override + public String getSiteName() { + return SITE_NAME; + } + + @Override + public String getSiteUrl() { + return SITE_URL; + } + + @Override + protected List
parseHtml(String html) throws ParseException { + List
articles = new ArrayList<>(); + try { + org.jsoup.nodes.Document doc = Jsoup.parse(html); + + Elements newsItems = doc.select(".article-list .item, .list-group-item, .news-item, .content li, article"); + + for (Element item : newsItems) { + Article article = new Article(); + article.setSource(SITE_NAME); + + Element titleElem = item.selectFirst("h3, h4, h2, .title, .news-title, a[href]"); + article.setTitle(titleElem != null ? titleElem.text().trim() : ""); + + Element summaryElem = item.selectFirst(".desc, .summary, .news-desc, p"); + article.setSummary(summaryElem != null ? summaryElem.text().trim() : ""); + + Element dateElem = item.selectFirst(".date, time, .time, span"); + article.setPublishDate(dateElem != null ? dateElem.text().trim() : ""); + + Element linkElem = item.selectFirst("a[href]"); + article.setArticleUrl(linkElem != null && linkElem.hasAttr("href") + ? linkElem.attr("href") : ""); + + if (!article.getTitle().isEmpty()) { + articles.add(article); + } + } + + if (articles.isEmpty()) { + Elements links = doc.select("a[href*='/article/'], a[href*='/tutorial/'], a[href*='/course/']"); + for (Element link : links) { + String title = link.text().trim(); + if (title.length() > 5 && !title.contains("首页") && !title.contains("教程") && !title.contains("学习")) { + Article article = new Article(); + article.setSource(SITE_NAME); + article.setTitle(title); + article.setArticleUrl(link.hasAttr("href") ? link.attr("href") : ""); + articles.add(article); + } + } + } + + if (articles.isEmpty()) { + Elements allLinks = doc.select("a"); + for (Element link : allLinks) { + String title = link.text().trim(); + if (title.length() > 5 && title.length() < 100) { + String href = link.hasAttr("href") ? link.attr("href") : ""; + if (href.contains("/") && !href.startsWith("#") && !href.contains("javascript")) { + Article article = new Article(); + article.setSource(SITE_NAME); + article.setTitle(title); + article.setArticleUrl(href); + articles.add(article); + } + } + } + } + + logger.info("菜鸟教程解析到{}条资讯", articles.size()); + } catch (Exception e) { + throw new ParseException("解析菜鸟教程页面失败", e); + } + return articles; + } +} diff --git a/project/资讯爬虫/src/main/java/com/newscrawler/strategy/SohuStrategy.java b/project/资讯爬虫/src/main/java/com/newscrawler/strategy/SohuStrategy.java new file mode 100644 index 0000000..83d4f5b --- /dev/null +++ b/project/资讯爬虫/src/main/java/com/newscrawler/strategy/SohuStrategy.java @@ -0,0 +1,90 @@ +package com.newscrawler.strategy; + +import com.newscrawler.entity.Article; +import com.newscrawler.exception.ParseException; +import org.jsoup.Jsoup; +import org.jsoup.nodes.Element; +import org.jsoup.select.Elements; + +import java.util.ArrayList; +import java.util.List; + +public class SohuStrategy extends AbstractBaseStrategy { + private static final String SITE_NAME = "搜狐资讯"; + private static final String SITE_URL = "https://news.sohu.com/"; + + @Override + public String getSiteName() { + return SITE_NAME; + } + + @Override + public String getSiteUrl() { + return SITE_URL; + } + + @Override + protected List
parseHtml(String html) throws ParseException { + List
articles = new ArrayList<>(); + try { + org.jsoup.nodes.Document doc = Jsoup.parse(html); + + Elements allLinks = doc.select("a"); + int count = 0; + for (Element link : allLinks) { + String title = link.text().trim(); + String href = link.attr("href"); + + if (title.length() > 8 && title.length() < 80 && + !title.contains("登录") && !title.contains("注册") && + !title.contains("评论") && !title.contains("分享") && + !title.contains("更多") && !title.contains("首页") && + href.contains("/a/")) { + + Article article = new Article(); + article.setSource(SITE_NAME); + article.setTitle(title); + article.setAuthor("搜狐"); + + if (href.startsWith("//")) { + href = "https:" + href; + } else if (href.startsWith("/")) { + href = "https://news.sohu.com" + href; + } + article.setArticleUrl(href); + articles.add(article); + count++; + + if (count >= 20) break; + } + } + + if (articles.isEmpty()) { + Elements mainNews = doc.select(".focus-news-list li, .main-news li, .listCon li"); + for (Element item : mainNews) { + Element titleLink = item.selectFirst("a"); + if (titleLink != null) { + String title = titleLink.text().trim(); + if (title.length() > 5) { + Article article = new Article(); + article.setSource(SITE_NAME); + article.setTitle(title); + article.setAuthor("搜狐"); + String href = titleLink.attr("href"); + if (href.startsWith("/")) { + href = "https://news.sohu.com" + href; + } + article.setArticleUrl(href); + articles.add(article); + } + } + } + } + + logger.info("搜狐资讯解析到{}条资讯", articles.size()); + } catch (Exception e) { + throw new ParseException("解析搜狐资讯页面失败", e); + } + return articles; + } +} diff --git a/project/资讯爬虫/src/main/java/com/newscrawler/strategy/StrategyFactory.java b/project/资讯爬虫/src/main/java/com/newscrawler/strategy/StrategyFactory.java new file mode 100644 index 0000000..699cf41 --- /dev/null +++ b/project/资讯爬虫/src/main/java/com/newscrawler/strategy/StrategyFactory.java @@ -0,0 +1,39 @@ +package com.newscrawler.strategy; + +import java.util.HashMap; +import java.util.Map; + +public class StrategyFactory { + private static final Map STRATEGY_MAP = new HashMap<>(); + + static { + STRATEGY_MAP.put("runoob", new RunoobStrategy()); + STRATEGY_MAP.put("youth", new YouthStrategy()); + STRATEGY_MAP.put("sohu", new SohuStrategy()); + } + + public static CrawlStrategy getStrategy(String siteKey) { + CrawlStrategy strategy = STRATEGY_MAP.get(siteKey.toLowerCase()); + if (strategy == null) { + throw new IllegalArgumentException("不支持的站点: " + siteKey); + } + return strategy; + } + + public static CrawlStrategy getStrategyBySiteName(String siteName) { + for (Map.Entry entry : STRATEGY_MAP.entrySet()) { + if (entry.getValue().getSiteName().contains(siteName)) { + return entry.getValue(); + } + } + throw new IllegalArgumentException("未找到站点对应的策略: " + siteName); + } + + public static Map getAllStrategies() { + return new HashMap<>(STRATEGY_MAP); + } + + public static String[] getSiteKeys() { + return STRATEGY_MAP.keySet().toArray(new String[0]); + } +} diff --git a/project/资讯爬虫/src/main/java/com/newscrawler/strategy/YouthStrategy.java b/project/资讯爬虫/src/main/java/com/newscrawler/strategy/YouthStrategy.java new file mode 100644 index 0000000..d48deca --- /dev/null +++ b/project/资讯爬虫/src/main/java/com/newscrawler/strategy/YouthStrategy.java @@ -0,0 +1,70 @@ +package com.newscrawler.strategy; + +import com.newscrawler.entity.Article; +import com.newscrawler.exception.ParseException; +import org.jsoup.Jsoup; +import org.jsoup.nodes.Element; +import org.jsoup.select.Elements; + +import java.util.ArrayList; +import java.util.List; + +public class YouthStrategy extends AbstractBaseStrategy { + private static final String SITE_NAME = "知乎日报"; + private static final String SITE_URL = "https://daily.zhihu.com/"; + + @Override + public String getSiteName() { + return SITE_NAME; + } + + @Override + public String getSiteUrl() { + return SITE_URL; + } + + @Override + protected List
parseHtml(String html) throws ParseException { + List
articles = new ArrayList<>(); + try { + logger.info("开始解析知乎日报页面,HTML长度: {}", html.length()); + + org.jsoup.nodes.Document doc = Jsoup.parse(html); + Elements allLinks = doc.select("a"); + + logger.info("页面共有 {} 个链接", allLinks.size()); + + for (Element link : allLinks) { + String title = link.text().trim(); + String href = link.attr("href"); + + if (title.length() >= 4 && title.length() <= 50 && !title.isEmpty()) { + Article article = new Article(); + article.setSource(SITE_NAME); + article.setTitle(title); + article.setAuthor("知乎日报"); + + if (href.startsWith("//")) { + href = "https:" + href; + } else if (href.startsWith("/")) { + href = "https://daily.zhihu.com" + href; + } + article.setArticleUrl(href); + articles.add(article); + } + } + + logger.info("初步解析到{}条资讯", articles.size()); + + if (articles.size() > 20) { + articles = articles.subList(0, 20); + } + + logger.info("知乎日报最终解析到{}条资讯", articles.size()); + } catch (Exception e) { + logger.error("解析异常: {}", e.getMessage()); + throw new ParseException("解析知乎日报页面失败", e); + } + return articles; + } +} diff --git a/project/资讯爬虫/src/main/java/com/newscrawler/util/JsonUtil.java b/project/资讯爬虫/src/main/java/com/newscrawler/util/JsonUtil.java new file mode 100644 index 0000000..8bad08e --- /dev/null +++ b/project/资讯爬虫/src/main/java/com/newscrawler/util/JsonUtil.java @@ -0,0 +1,134 @@ +package com.newscrawler.util; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.reflect.TypeToken; +import com.newscrawler.entity.Article; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.io.*; +import java.lang.reflect.Type; +import java.nio.charset.StandardCharsets; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.ArrayList; +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +public class JsonUtil { + private static final Logger logger = LoggerFactory.getLogger(JsonUtil.class); + private static final Gson GSON = new GsonBuilder() + .setPrettyPrinting() + .setDateFormat("yyyy-MM-dd'T'HH:mm:ss") + .create(); + private static final String DATA_DIR = "data"; + + static { + try { + Files.createDirectories(Paths.get(DATA_DIR)); + } catch (IOException e) { + logger.warn("创建数据目录失败: {}", e.getMessage()); + } + } + + public static void exportToJson(List
articles, String filename) throws IOException { + if (articles == null) { + throw new IllegalArgumentException("文章列表不能为空"); + } + if (filename == null || filename.trim().isEmpty()) { + throw new IllegalArgumentException("文件名不能为空"); + } + + String fullPath = getFullPath(filename); + try (Writer writer = new BufferedWriter( + new OutputStreamWriter( + new FileOutputStream(fullPath), StandardCharsets.UTF_8))) { + GSON.toJson(articles, writer); + logger.info("成功导出{}篇文章到{}", articles.size(), fullPath); + } catch (IOException e) { + logger.error("导出JSON失败: {}", e.getMessage()); + throw e; + } + } + + public static List
importFromJson(String filename) throws IOException { + if (filename == null || filename.trim().isEmpty()) { + throw new IllegalArgumentException("文件名不能为空"); + } + + String fullPath = getFullPath(filename); + Path path = Paths.get(fullPath); + + if (!Files.exists(path)) { + throw new FileNotFoundException("文件不存在: " + fullPath); + } + + List
importedArticles; + try (Reader reader = new BufferedReader( + new InputStreamReader( + new FileInputStream(fullPath), StandardCharsets.UTF_8))) { + Type listType = new TypeToken>() {}.getType(); + importedArticles = GSON.fromJson(reader, listType); + } catch (IOException e) { + logger.error("导入JSON失败: {}", e.getMessage()); + throw e; + } + + if (importedArticles == null) { + importedArticles = new ArrayList<>(); + } + + List
deduplicatedArticles = deduplicate(importedArticles); + logger.info("从{}导入{}篇文章,去重后保留{}篇", + fullPath, importedArticles.size(), deduplicatedArticles.size()); + + return deduplicatedArticles; + } + + private static List
deduplicate(List
articles) { + Set seen = new HashSet<>(); + List
deduplicated = new ArrayList<>(); + + for (Article article : articles) { + String key = generateDeduplicateKey(article); + if (!seen.contains(key)) { + seen.add(key); + deduplicated.add(article); + } else { + logger.debug("去重重复文章: {}", article.getTitle()); + } + } + + return deduplicated; + } + + private static String generateDeduplicateKey(Article article) { + return (article.getTitle() != null ? article.getTitle() : "") + "|" + + (article.getSource() != null ? article.getSource() : "") + "|" + + (article.getPublishDate() != null ? article.getPublishDate() : ""); + } + + private static String getFullPath(String filename) { + if (filename.endsWith(".json")) { + return DATA_DIR + File.separator + filename; + } + return DATA_DIR + File.separator + filename + ".json"; + } + + public static void exportHistoriesToJson(List histories, String filename) throws IOException { + if (histories == null) { + throw new IllegalArgumentException("历史记录列表不能为空"); + } + + String fullPath = DATA_DIR + File.separator + filename + "_history.json"; + try (Writer writer = new BufferedWriter( + new OutputStreamWriter( + new FileOutputStream(fullPath), StandardCharsets.UTF_8))) { + GSON.toJson(histories, writer); + logger.info("成功导出{}条历史记录到{}", histories.size(), fullPath); + } + } +} diff --git a/project/资讯爬虫/src/main/resources/logback.xml b/project/资讯爬虫/src/main/resources/logback.xml new file mode 100644 index 0000000..c8ffd24 --- /dev/null +++ b/project/资讯爬虫/src/main/resources/logback.xml @@ -0,0 +1,37 @@ + + + + + + + ${LOG_PATTERN} + GBK + + + + + logs/crawler.log + + logs/crawler-%d{yyyy-MM-dd}.log + 30 + + + ${LOG_PATTERN} + UTF-8 + + + + + + + + + + + + + + + + + diff --git a/project/资讯爬虫/target/classes/com/newscrawler/Main.class b/project/资讯爬虫/target/classes/com/newscrawler/Main.class new file mode 100644 index 0000000..3ffe777 Binary files /dev/null and b/project/资讯爬虫/target/classes/com/newscrawler/Main.class differ diff --git a/project/资讯爬虫/target/classes/com/newscrawler/command/MenuCommand.class b/project/资讯爬虫/target/classes/com/newscrawler/command/MenuCommand.class new file mode 100644 index 0000000..a8f5fa5 Binary files /dev/null and b/project/资讯爬虫/target/classes/com/newscrawler/command/MenuCommand.class differ diff --git a/project/资讯爬虫/target/classes/com/newscrawler/entity/Article.class b/project/资讯爬虫/target/classes/com/newscrawler/entity/Article.class new file mode 100644 index 0000000..88911bb Binary files /dev/null and b/project/资讯爬虫/target/classes/com/newscrawler/entity/Article.class differ diff --git a/project/资讯爬虫/target/classes/com/newscrawler/entity/CrawlHistory.class b/project/资讯爬虫/target/classes/com/newscrawler/entity/CrawlHistory.class new file mode 100644 index 0000000..e733f1d Binary files /dev/null and b/project/资讯爬虫/target/classes/com/newscrawler/entity/CrawlHistory.class differ diff --git a/project/资讯爬虫/target/classes/com/newscrawler/exception/CrawlerException.class b/project/资讯爬虫/target/classes/com/newscrawler/exception/CrawlerException.class new file mode 100644 index 0000000..d0b4b6a Binary files /dev/null and b/project/资讯爬虫/target/classes/com/newscrawler/exception/CrawlerException.class differ diff --git a/project/资讯爬虫/target/classes/com/newscrawler/exception/NetworkException.class b/project/资讯爬虫/target/classes/com/newscrawler/exception/NetworkException.class new file mode 100644 index 0000000..d48cf73 Binary files /dev/null and b/project/资讯爬虫/target/classes/com/newscrawler/exception/NetworkException.class differ diff --git a/project/资讯爬虫/target/classes/com/newscrawler/exception/ParseException.class b/project/资讯爬虫/target/classes/com/newscrawler/exception/ParseException.class new file mode 100644 index 0000000..82a4563 Binary files /dev/null and b/project/资讯爬虫/target/classes/com/newscrawler/exception/ParseException.class differ diff --git a/project/资讯爬虫/target/classes/com/newscrawler/repository/ArticleRepository.class b/project/资讯爬虫/target/classes/com/newscrawler/repository/ArticleRepository.class new file mode 100644 index 0000000..657c2e9 Binary files /dev/null and b/project/资讯爬虫/target/classes/com/newscrawler/repository/ArticleRepository.class differ diff --git a/project/资讯爬虫/target/classes/com/newscrawler/service/CrawlerService.class b/project/资讯爬虫/target/classes/com/newscrawler/service/CrawlerService.class new file mode 100644 index 0000000..0d46ca8 Binary files /dev/null and b/project/资讯爬虫/target/classes/com/newscrawler/service/CrawlerService.class differ diff --git a/project/资讯爬虫/target/classes/com/newscrawler/strategy/AbstractBaseStrategy.class b/project/资讯爬虫/target/classes/com/newscrawler/strategy/AbstractBaseStrategy.class new file mode 100644 index 0000000..75c4eb5 Binary files /dev/null and b/project/资讯爬虫/target/classes/com/newscrawler/strategy/AbstractBaseStrategy.class differ diff --git a/project/资讯爬虫/target/classes/com/newscrawler/strategy/CrawlStrategy.class b/project/资讯爬虫/target/classes/com/newscrawler/strategy/CrawlStrategy.class new file mode 100644 index 0000000..2c6354e Binary files /dev/null and b/project/资讯爬虫/target/classes/com/newscrawler/strategy/CrawlStrategy.class differ diff --git a/project/资讯爬虫/target/classes/com/newscrawler/strategy/RunoobStrategy.class b/project/资讯爬虫/target/classes/com/newscrawler/strategy/RunoobStrategy.class new file mode 100644 index 0000000..1236caf Binary files /dev/null and b/project/资讯爬虫/target/classes/com/newscrawler/strategy/RunoobStrategy.class differ diff --git a/project/资讯爬虫/target/classes/com/newscrawler/strategy/SohuStrategy.class b/project/资讯爬虫/target/classes/com/newscrawler/strategy/SohuStrategy.class new file mode 100644 index 0000000..d4cca5c Binary files /dev/null and b/project/资讯爬虫/target/classes/com/newscrawler/strategy/SohuStrategy.class differ diff --git a/project/资讯爬虫/target/classes/com/newscrawler/strategy/StrategyFactory.class b/project/资讯爬虫/target/classes/com/newscrawler/strategy/StrategyFactory.class new file mode 100644 index 0000000..3eebf6d Binary files /dev/null and b/project/资讯爬虫/target/classes/com/newscrawler/strategy/StrategyFactory.class differ diff --git a/project/资讯爬虫/target/classes/com/newscrawler/strategy/YouthStrategy.class b/project/资讯爬虫/target/classes/com/newscrawler/strategy/YouthStrategy.class new file mode 100644 index 0000000..749462f Binary files /dev/null and b/project/资讯爬虫/target/classes/com/newscrawler/strategy/YouthStrategy.class differ diff --git a/project/资讯爬虫/target/classes/com/newscrawler/util/JsonUtil$1.class b/project/资讯爬虫/target/classes/com/newscrawler/util/JsonUtil$1.class new file mode 100644 index 0000000..de8aec7 Binary files /dev/null and b/project/资讯爬虫/target/classes/com/newscrawler/util/JsonUtil$1.class differ diff --git a/project/资讯爬虫/target/classes/com/newscrawler/util/JsonUtil.class b/project/资讯爬虫/target/classes/com/newscrawler/util/JsonUtil.class new file mode 100644 index 0000000..374b747 Binary files /dev/null and b/project/资讯爬虫/target/classes/com/newscrawler/util/JsonUtil.class differ diff --git a/project/资讯爬虫/target/classes/logback.xml b/project/资讯爬虫/target/classes/logback.xml new file mode 100644 index 0000000..c8ffd24 --- /dev/null +++ b/project/资讯爬虫/target/classes/logback.xml @@ -0,0 +1,37 @@ + + + + + + + ${LOG_PATTERN} + GBK + + + + + logs/crawler.log + + logs/crawler-%d{yyyy-MM-dd}.log + 30 + + + ${LOG_PATTERN} + UTF-8 + + + + + + + + + + + + + + + + + diff --git a/project/资讯爬虫/target/dependency/gson-2.10.1.jar b/project/资讯爬虫/target/dependency/gson-2.10.1.jar new file mode 100644 index 0000000..a88c5bd Binary files /dev/null and b/project/资讯爬虫/target/dependency/gson-2.10.1.jar differ diff --git a/project/资讯爬虫/target/dependency/jsoup-1.17.2.jar b/project/资讯爬虫/target/dependency/jsoup-1.17.2.jar new file mode 100644 index 0000000..52ae16d Binary files /dev/null and b/project/资讯爬虫/target/dependency/jsoup-1.17.2.jar differ diff --git a/project/资讯爬虫/target/dependency/logback-classic-1.4.14.jar b/project/资讯爬虫/target/dependency/logback-classic-1.4.14.jar new file mode 100644 index 0000000..93602a7 Binary files /dev/null and b/project/资讯爬虫/target/dependency/logback-classic-1.4.14.jar differ diff --git a/project/资讯爬虫/target/dependency/logback-core-1.4.14.jar b/project/资讯爬虫/target/dependency/logback-core-1.4.14.jar new file mode 100644 index 0000000..0213073 Binary files /dev/null and b/project/资讯爬虫/target/dependency/logback-core-1.4.14.jar differ diff --git a/project/资讯爬虫/target/dependency/slf4j-api-2.0.11.jar b/project/资讯爬虫/target/dependency/slf4j-api-2.0.11.jar new file mode 100644 index 0000000..652cb9e Binary files /dev/null and b/project/资讯爬虫/target/dependency/slf4j-api-2.0.11.jar differ diff --git a/project/资讯爬虫/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/project/资讯爬虫/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst new file mode 100644 index 0000000..0ca9672 --- /dev/null +++ b/project/资讯爬虫/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst @@ -0,0 +1,17 @@ +com\newscrawler\util\JsonUtil$1.class +com\newscrawler\entity\CrawlHistory.class +com\newscrawler\exception\ParseException.class +com\newscrawler\entity\Article.class +com\newscrawler\repository\ArticleRepository.class +com\newscrawler\strategy\AbstractBaseStrategy.class +com\newscrawler\strategy\StrategyFactory.class +com\newscrawler\command\MenuCommand.class +com\newscrawler\service\CrawlerService.class +com\newscrawler\strategy\RunoobStrategy.class +com\newscrawler\exception\CrawlerException.class +com\newscrawler\strategy\CrawlStrategy.class +com\newscrawler\strategy\SohuStrategy.class +com\newscrawler\exception\NetworkException.class +com\newscrawler\util\JsonUtil.class +com\newscrawler\strategy\YouthStrategy.class +com\newscrawler\Main.class diff --git a/project/资讯爬虫/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/project/资讯爬虫/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst new file mode 100644 index 0000000..919d5ca --- /dev/null +++ b/project/资讯爬虫/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst @@ -0,0 +1,16 @@ +D:\桌面\资讯爬虫\src\main\java\com\newscrawler\exception\NetworkException.java +D:\桌面\资讯爬虫\src\main\java\com\newscrawler\util\JsonUtil.java +D:\桌面\资讯爬虫\src\main\java\com\newscrawler\exception\ParseException.java +D:\桌面\资讯爬虫\src\main\java\com\newscrawler\strategy\YouthStrategy.java +D:\桌面\资讯爬虫\src\main\java\com\newscrawler\entity\CrawlHistory.java +D:\桌面\资讯爬虫\src\main\java\com\newscrawler\service\CrawlerService.java +D:\桌面\资讯爬虫\src\main\java\com\newscrawler\strategy\RunoobStrategy.java +D:\桌面\资讯爬虫\src\main\java\com\newscrawler\exception\CrawlerException.java +D:\桌面\资讯爬虫\src\main\java\com\newscrawler\repository\ArticleRepository.java +D:\桌面\资讯爬虫\src\main\java\com\newscrawler\command\MenuCommand.java +D:\桌面\资讯爬虫\src\main\java\com\newscrawler\strategy\StrategyFactory.java +D:\桌面\资讯爬虫\src\main\java\com\newscrawler\entity\Article.java +D:\桌面\资讯爬虫\src\main\java\com\newscrawler\Main.java +D:\桌面\资讯爬虫\src\main\java\com\newscrawler\strategy\SohuStrategy.java +D:\桌面\资讯爬虫\src\main\java\com\newscrawler\strategy\CrawlStrategy.java +D:\桌面\资讯爬虫\src\main\java\com\newscrawler\strategy\AbstractBaseStrategy.java