@@ -11,10 +11,23 @@ const downloadComment = require('./downloadComment.js');
11
11
* 执行方法
12
12
*/
13
13
( async function getColumnArticleList ( firstArticalId ) {
14
- await utils . createDir ( 'geektime_' + config . columnName ) ;
14
+ await utils . createDir ( 'geektime_' + config . columnName ) ;
15
15
console . log ( '专栏文章链接开始获取' ) ;
16
16
let columnArticleUrlList = [ ] ;
17
+ let type = 0 ;
18
+
19
+ //指定id下载
20
+ let assignIndex = 1 ;
21
+ if ( config . articalIds && config . articalIds . length > 0 ) {
22
+ type = 1 ;
23
+ firstArticalId = config . articalIds [ 0 ] ;
24
+ console . log ( '通过firstArticalId配置进行文章获取' ) ;
25
+ } else {
26
+ console . log ( '通过articalIds配置进行文章获取' ) ;
27
+ }
28
+
17
29
let articalId = firstArticalId ;
30
+
18
31
async function getNextColumnArticleUrl ( ) {
19
32
try {
20
33
let res = await superagent . post ( config . url )
@@ -71,18 +84,26 @@ const downloadComment = require('./downloadComment.js');
71
84
path . resolve ( __dirname , 'geektime_' + config . columnName )
72
85
) ;
73
86
} ;
87
+
74
88
// 判断是否还有下一篇文章
75
- let neighborRight = columnArticle . neighbors . right ;
76
- if ( neighborRight && neighborRight . id ) {
77
- articalId = neighborRight . id ;
89
+ let nextId ;
90
+ if ( type == 1 ) {
91
+ nextId = config . articalIds . length >= assignIndex ? config . articalIds [ assignIndex ] : undefined ;
92
+ assignIndex ++ ;
93
+ } else {
94
+ nextId = columnArticle . neighbors . right ? columnArticle . neighbors . right : undefined ;
95
+ }
96
+
97
+ if ( nextId ) {
98
+ articalId = nextId ;
78
99
await utils . sleep ( 1.5 ) ;
79
100
await getNextColumnArticleUrl ( ) ;
80
101
} ;
81
102
} catch ( err ) {
82
103
console . log ( `访问 地址 ${ config . columnBaseUrl + articalId } err` , err . message ) ;
83
104
} ;
84
105
} ;
85
- await getNextColumnArticleUrl ( firstArticalId ) ;
106
+ await getNextColumnArticleUrl ( ) ;
86
107
console . log ( '专栏文章链接获取完成' ) ;
87
108
utils . writeToFile ( `geektime_${ config . columnName } ` , JSON . stringify ( columnArticleUrlList , null , 4 ) ) ;
88
109
return columnArticleUrlList ;
0 commit comments