@@ -11,10 +11,23 @@ const downloadComment = require('./downloadComment.js');
1111 * 执行方法
1212 */
1313( async function getColumnArticleList ( firstArticalId ) {
14- await utils . createDir ( 'geektime_' + config . columnName ) ;
14+ await utils . createDir ( 'geektime_' + config . columnName ) ;
1515 console . log ( '专栏文章链接开始获取' ) ;
1616 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+
1729 let articalId = firstArticalId ;
30+
1831 async function getNextColumnArticleUrl ( ) {
1932 try {
2033 let res = await superagent . post ( config . url )
@@ -71,18 +84,26 @@ const downloadComment = require('./downloadComment.js');
7184 path . resolve ( __dirname , 'geektime_' + config . columnName )
7285 ) ;
7386 } ;
87+
7488 // 判断是否还有下一篇文章
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 ;
7899 await utils . sleep ( 1.5 ) ;
79100 await getNextColumnArticleUrl ( ) ;
80101 } ;
81102 } catch ( err ) {
82103 console . log ( `访问 地址 ${ config . columnBaseUrl + articalId } err` , err . message ) ;
83104 } ;
84105 } ;
85- await getNextColumnArticleUrl ( firstArticalId ) ;
106+ await getNextColumnArticleUrl ( ) ;
86107 console . log ( '专栏文章链接获取完成' ) ;
87108 utils . writeToFile ( `geektime_${ config . columnName } ` , JSON . stringify ( columnArticleUrlList , null , 4 ) ) ;
88109 return columnArticleUrlList ;
0 commit comments