Digitalgk

Digitalgk

V2EX 第 655335 号会员,加入于 2023-10-19 10:44:59 +08:00
今日活跃度排名 7069
15 S 72 B
Digitalgk 最近回复了
2 天前
回复了 what1234567890 创建的主题 生活 水管漏水, 计算后, 我不需要补了
@what1234567890 稳如老狗的方法 困扰我多次了 如果是带水先停水擦干净接缝处,接缝处先刷一层 pvc 胶 然后缠一层生料带 ,然后生料带上面再刷一层 pvc 胶 然后再缠生料带 再刷 再缠再刷 三遍 ,最后等几个小时固化 再缠几圈电工胶带 over
3 天前
回复了 CCCCChia 创建的主题 宽带症候群 电视附近没有网线该如何接入 IPTV?
猪油抿一下 起码保证半天不干
GROK3 生成的
"李明", "李强", "李伟", "李军", "李杰", "李勇", "李刚", "李涛", "李鹏", "李峰",
"李海", "李山", "李林", "李河", "李云", "李风", "李雨", "李雷", "李雪", "李霜",
"李德", "李仁", "李义", "李礼", "李智", "李信", "李忠", "李孝", "李廉", "李谦",
"李猛", "李威", "李雄", "李武", "李英", "李豪", "李健", "李毅", "李文", "李学",
"李思", "李博", "李睿", "李哲", "李聪", "李飞", "李亮", "李远", "李达", "李宁",
"李平", "李安", "李康", "李华", "李荣", "李富", "李贵", "李昌", "李盛", "李兴",
"李隆", "李鼎", "李勋", "李业", "李功", "李春", "李夏", "李秋", "李冬", "李晨",
"李阳", "李星", "李月", "李东", "李西", "李南", "李北", "李中", "李瑞", "李祥",
"李吉", "李福", "李寿", "李宝", "李金", "李玉", "李超", "李卓", "李俊", "李逸",
"李轩", "李翰", "李琦", "李瑜", "李琛", "李珂", "李琪", "李瑾", "李玮", "李璟"
]
10 天前
回复了 NianBroken 创建的主题 程序员 你认为目前最强的免费 AI 是什么?
gpt 未降智版本 其次 grok deepseek 太拥挤
21 天前
回复了 ZakaryTime 创建的主题 程序员 求会 RSShub 定制路由的大佬帮帮忙
@ZakaryTime chatGPT 的事儿 哈哈
21 天前
回复了 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 片段,我可协助调试选择器。
24 天前
回复了 BeijingBaby 创建的主题 生活 记一次结石发作经历
记得多吃带汤的 馄饨之类 干 2 大碗 躺着别动 忍着慢慢排
我的畅网 J4125 可以插 sim 卡
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1079 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 13ms · UTC 22:46 · PVG 06:46 · LAX 14:46 · JFK 17:46
Developed with CodeLauncher
♥ Do have faith in what you're doing.