V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
V2EX  ›  Digitalgk  ›  全部回复第 6 页 / 共 8 页
回复总数  151
1  2  3  4  5  6  7  8  
2025 年 2 月 11 日
回复了 ZakaryTime 创建的主题 程序员 求会 RSShub 定制路由的大佬帮帮忙
为了帮助你为这些政府网站创建自定义 RSSHub 路由,以下是分步指南和示例代码模板。由于你已挂载自定义路由目录,我们将通过以下步骤实现:

一、基础准备
在 NAS 的./rsshub/lib/routes 目录下新建文件夹 government

每个分类需要创建两个文件:

radar.js (域名匹配规则)

具体路由文件(如 cqgov.js )

二、重庆政府示例(政策文件库)
步骤 1:分析页面结构
打开 http://www.cq.gov.cn/zwgk/zfxxgkml/szfwj/ 按 F12 查看元素结构:

列表项通常位于 ul.list li 选择器

标题在<a>标签内

日期在 span.date

步骤 2:创建路由规则
新建 ./rsshub/lib/routes/government/radar.js 内容如下:

javascript
复制
module.exports = {
'cq.gov.cn': {
_name: '重庆市政府',
'www': [
{
title: '政策文件库',
docs: 'government/cqgov.md',
source: ['/zwgk/zfxxgkml/szfwj'],
target: '/cq/gov/szfwj',
},
// 其他分类可在此追加
],
},
'gov.cn': {
_name: '中国政府网',
'www': [
{
title: '最新政策',
docs: 'government/central.md',
source: ['/zhengce/zuixin'],
target: '/gov/zhengce/zuixin',
},
// 其他分类可在此追加
],
},
};
步骤 3:编写抓取逻辑
新建 ./rsshub/lib/routes/government/cqgov.js 内容如下:

javascript
复制
const got = require('@/utils/got');
const cheerio = require('cheerio');
const { parseDate } = require('@/utils/parse-date');

module.exports = async (ctx) => {
const baseUrl = 'http://www.cq.gov.cn/zwgk/zfxxgkml/szfwj/';
const { data: response } = await got(baseUrl);
const $ = cheerio.load(response);

const list = $('ul.list li')
.toArray()
.map((item) => {
const $item = $(item);
const $a = $item.find('a');
return {
title: $a.text(),
link: new URL($a.attr('href'), baseUrl).href,
pubDate: parseDate($item.find('span.date').text(), 'YYYY-MM-DD'),
};
});

ctx.state.data = {
title: '重庆市政府文件',
link: baseUrl,
item: list,
};
};
三、中国政府网示例(最新政策)
步骤 1:分析页面结构
打开 https://www.gov.cn/zhengce/zuixin/ 查看:

文章列表通常在 ul.list 或 div.news_box 中

注意有些页面可能需要 JS 渲染(已配置 Browserless )

步骤 2:编写抓取逻辑
新建 ./rsshub/lib/routes/government/central.js:

javascript
复制
const got = require('@/utils/got');
const cheerio = require('cheerio');

module.exports = async (ctx) => {
const baseUrl = 'https://www.gov.cn/zhengce/zuixin/';
const { data: response } = await got(baseUrl);
const $ = cheerio.load(response);

const list = $('div.news_box div.list li')
.toArray()
.map((item) => {
const $item = $(item);
const $a = $item.find('a');
return {
title: $a.text(),
link: new URL($a.attr('href'), baseUrl).href,
pubDate: $item.find('span.date').text().trim(),
};
});

ctx.state.data = {
title: '最新政策 - 中国政府网',
link: baseUrl,
item: list,
};
};
四、部署与测试
重启 RSSHub 容器使新路由生效:

bash
复制
docker-compose restart rsshub
访问测试:

重庆政策文件: http://你的 NAS 地址:1200/cq/gov/szfwj

中央最新政策: http://你的 NAS 地址:1200/gov/zhengce/zuixin

五、常见问题处理
动态加载内容:在路由文件中添加 require('./utils/puppeteer')使用浏览器渲染

分页支持:使用 for 循环遍历页面

特殊编码:添加 response.data = iconv.decode(response.data, 'gb2312')处理 GBK 编码

六、扩展建议
建议为每个网站单独建立路由文件

使用 RSSHub 官方文档作为参考: https://docs.rsshub.app/guide/

复杂页面建议使用 Postman 测试选择器

如需完整实现所有列出的 URL 路由,建议按此模式逐个分析页面结构后编写对应规则。如果遇到具体页面的解析问题,可以提供页面 HTML 片段,我可协助调试选择器。
2025 年 2 月 8 日
回复了 BeijingBaby 创建的主题 生活 记一次结石发作经历
记得多吃带汤的 馄饨之类 干 2 大碗 躺着别动 忍着慢慢排
2025 年 1 月 28 日
回复了 xiniu 创建的主题 宽带症候群 流量分流,国外的走 SIM 卡,国内的走宽带
我的畅网 J4125 可以插 sim 卡
2025 年 1 月 26 日
回复了 shadoworld 创建的主题 宽带症候群 光猫改桥接后改 ip 地址,脑抽改成 192.168.5.255
@Digitalgk 卧槽 没看清 什么 最后一位 255 ?
2025 年 1 月 26 日
回复了 shadoworld 创建的主题 宽带症候群 光猫改桥接后改 ip 地址,脑抽改成 192.168.5.255
很简单啊 光猫直连电脑 手动填个同网段的 ip 进光猫改就行了
2025 年 1 月 25 日
回复了 GuluMashimaro 创建的主题 宽带症候群 [异地组网] 如何接入异地办公室内的专线?
双 wan 路由器 做个策略即可 用 softether
春节快乐。
2025 年 1 月 21 日
回复了 Solace202 创建的主题 旅行 大年初二准备自驾去洛阳,过年洛阳人多吗?
身为洛阳本地土著 从这两天开始 基本开车不去市区了 各大商圈基本开车没法去 人巨多
2025 年 1 月 21 日
回复了 EZG997 创建的主题 宽带症候群 办公室网络问题求助。
你需要一台双 wan 口 路由器 做策略就行了
2025 年 1 月 19 日
回复了 Jammmm 创建的主题 汽车 12w 预算之内,家庭第一辆车选购
2.0 混动思域
2025 年 1 月 17 日
回复了 CyanHaze 创建的主题 汽车 人生第一辆车求推荐
2.0 油混思域
2024 年 12 月 25 日
回复了 PianCat 创建的主题 宽带症候群 关于家庭宽带的一些问题,想请 V2EXER 们帮忙解答
那不就是组播了?虚拟个 ikuai open 都行 不过我没有开 iptv 业务 用的天光云影 app 把肥羊源码导入进去 随便看各种央视卫视 也不需要 ipv6
2024 年 12 月 19 日
回复了 zhangsimon 创建的主题 推广 分享下副业经历,顺便抽个奖
支持一下!!
2024 年 12 月 5 日
回复了 Altairvelvet 创建的主题 宽带症候群 这两天的海外网络不知道怎么了……
没感觉 500M 联通宽带 香港节点 speedtest.net 能跑到 600M.
2024 年 11 月 11 日
回复了 kkbsn 创建的主题 Windows 急求 Windows 专家,升级系统硬盘竟然挂了, 88 元红包酬谢
前几天刚恢复一套 无偿 t. me/facelygk
2024 年 10 月 19 日
回复了 liwenka1 创建的主题 职场话题 半夜了,诉苦一下吧,希望大家见谅
首先是照顾身体 健康活着 调整好状态 继续出发 人生犹如大海 你就是一艘小船的船长 惊涛骇浪 风平浪静 哪里抛锚 哪里起航 你说了算
1  2  3  4  5  6  7  8  
About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3893 Online   Highest 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 28ms · UTC 10:13 · PVG 18:13 · LAX 03:13 · JFK 06:13
♥ Do have faith in what you're doing.