diff --git a/assets/radar-rules.js b/assets/radar-rules.js
index 3ddd2dd656..9fd8c7fb74 100644
--- a/assets/radar-rules.js
+++ b/assets/radar-rules.js
@@ -858,4 +858,72 @@
},
],
},
+
+ 'ithome.com': {
+ _name: 'IT 之家',
+ it: [
+ {
+ title: 'IT 资讯',
+ docs: 'https://docs.rsshub.app/new-media.html#it-zhi-jia',
+ source: '/',
+ target: '/ithome/it',
+ },
+ ],
+ soft: [
+ {
+ title: '软件之家',
+ docs: 'https://docs.rsshub.app/new-media.html#it-zhi-jia',
+ source: '/',
+ target: '/ithome/soft',
+ },
+ ],
+ win10: [
+ {
+ title: 'win10 之家',
+ docs: 'https://docs.rsshub.app/new-media.html#it-zhi-jia',
+ source: '/',
+ target: '/ithome/win10',
+ },
+ ],
+ iphone: [
+ {
+ title: 'iphone 之家',
+ docs: 'https://docs.rsshub.app/new-media.html#it-zhi-jia',
+ source: '/',
+ target: '/ithome/iphone',
+ },
+ ],
+ ipad: [
+ {
+ title: 'ipad 之家',
+ docs: 'https://docs.rsshub.app/new-media.html#it-zhi-jia',
+ source: '/',
+ target: '/ithome/ipad',
+ },
+ ],
+ android: [
+ {
+ title: 'android 之家',
+ docs: 'https://docs.rsshub.app/new-media.html#it-zhi-jia',
+ source: '/',
+ target: '/ithome/android',
+ },
+ ],
+ digi: [
+ {
+ title: '数码之家',
+ docs: 'https://docs.rsshub.app/new-media.html#it-zhi-jia',
+ source: '/',
+ target: '/ithome/digi',
+ },
+ ],
+ next: [
+ {
+ title: '智能时代',
+ docs: 'https://docs.rsshub.app/new-media.html#it-zhi-jia',
+ source: '/',
+ target: '/ithome/next',
+ },
+ ],
+ },
});
diff --git a/docs/new-media.md b/docs/new-media.md
index dca52585cd..0aa980891f 100644
--- a/docs/new-media.md
+++ b/docs/new-media.md
@@ -99,6 +99,18 @@ pageClass: routes
+## IT 之家
+
+### 分类资讯
+
+
+
+| it | soft | win10 | iphone | ipad | android | digi | next |
+| ------- | -------- | ---------- | ----------- | --------- | ------------ | -------- | -------- |
+| IT 资讯 | 软件之家 | win10 之家 | iphone 之家 | ipad 之家 | android 之家 | 数码之家 | 智能时代 |
+
+
+
## IT 桔子
### 投融资事件
diff --git a/lib/router.js b/lib/router.js
index f22d600747..df5f79e3a0 100644
--- a/lib/router.js
+++ b/lib/router.js
@@ -2013,6 +2013,9 @@ router.get('/nyaa/search/:query?', require('./routes/nyaa/search'));
// 片源网
router.get('/pianyuan/:media?', require('./routes/pianyuan/app'));
+// IT home
+router.get('/ithome/:caty', require('./routes/ithome/index'));
+
// 巴哈姆特
router.get('/bahamut/creation/:author/:category?', require('./routes/bahamut/creation'));
router.get('/bahamut/creation_index/:category?/:subcategory?/:type?', require('./routes/bahamut/creation_index'));
diff --git a/lib/routes/ithome/index.js b/lib/routes/ithome/index.js
new file mode 100644
index 0000000000..66a41d2263
--- /dev/null
+++ b/lib/routes/ithome/index.js
@@ -0,0 +1,83 @@
+const got = require('@/utils/got');
+const cheerio = require('cheerio');
+
+const get_url = (caty) => `https://${caty}.ithome.com/`;
+
+const config = {
+ it: {
+ title: 'IT 资讯',
+ },
+ soft: {
+ title: '软件之家',
+ },
+ win10: {
+ title: 'win10 之家',
+ },
+ iphone: {
+ title: 'iphone 之家',
+ },
+ ipad: {
+ title: 'ipad 之家',
+ },
+ android: {
+ title: 'android 之家',
+ },
+ digi: {
+ title: '数码之家',
+ },
+ next: {
+ title: '智能时代',
+ },
+};
+
+module.exports = async (ctx) => {
+ const cfg = config[ctx.params.caty];
+ if (!cfg) {
+ throw Error('Bad category. See https://docs.rsshub.app/new-media.html#it-zhi-jia');
+ }
+
+ const current_url = get_url(ctx.params.caty);
+ const response = await got({
+ method: 'get',
+ url: current_url,
+ });
+
+ const $ = cheerio.load(response.data);
+ const list = $('div.wrap_left_top div.mf div.new-list-1 li[class!="top"] span.title a')
+ .slice(0, 10)
+ .map((_, item) => {
+ item = $(item);
+ return {
+ title: item.text(),
+ link: item.attr('href'),
+ };
+ })
+ .get();
+
+ const items = await Promise.all(
+ list.map(
+ async (item) =>
+ await ctx.cache.tryGet(item.link, async () => {
+ const res = await got({ method: 'get', url: item.link });
+ const content = cheerio.load(res.data);
+ const post = content('div#con div.content');
+ const paragraph = post.find('div#paragraph');
+ paragraph.find('img[data-original]').each((_, ele) => {
+ ele = $(ele);
+ ele.attr('src', ele.attr('data-original'));
+ ele.removeAttr('class');
+ ele.removeAttr('data-original');
+ });
+ item.description = paragraph.html();
+ item.pubDate = new Date(post.find('span#pubtime_baidu').text() + ' GMT+8').toUTCString();
+ return item;
+ })
+ )
+ );
+
+ ctx.state.data = {
+ title: 'IT 之家 - ' + cfg.title,
+ link: current_url,
+ item: items,
+ };
+};