使用nodejs将某个简书用户的文章进行导出
生活随笔
收集整理的這篇文章主要介紹了
使用nodejs将某个简书用户的文章进行导出
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
今天Jerry發(fā)現(xiàn)簡(jiǎn)書改版后,以前根據(jù)問(wèn)題標(biāo)題進(jìn)行搜索的功能消失了,這樣我搜索自己過(guò)去發(fā)表的文章就不太方便。因此,我想寫個(gè)小程序,把自己過(guò)去發(fā)表的文章的標(biāo)題和超鏈接都下載到本地。
代碼如下:
var request = require('request'); var jsdom = require("jsdom"); var JSDOM = jsdom.JSDOM; const PREFIX = "https://www.jianshu.com";/* a given article: https://www.jianshu.com/p/963cd23fb092value got from API: /p/5c1d0319dc42 */var url = "https://www.jianshu.com/u/99b8712e8850?order_by=shared_at&page=2";var pageOptions = {url: url,method: "GET",headers: {"Accept": "text/html"} };function getArticles() {return new Promise(function(resolve,reject){var requestC = request.defaults({jar: true});requestC(pageOptions,function(error,response,body){var document = new JSDOM(body).window.document;var content = document.getElementsByTagName("li");for( var i =0; i < content.length; i++){var li = content[i];var children = li.childNodes;for( var j = 0; j < children.length; j++){var eachChild = children[j];if( eachChild.nodeName == "DIV"){var grandChild = eachChild.childNodes;for( var k = 0; k < grandChild.length; k++){var grand = grandChild[k];if( grand.nodeName == "A"){var fragment = grand.getAttribute("href");if( fragment.indexOf("/p") < 0)continue;console.log("title: " + grand.text);var wholeURL = PREFIX + fragment;console.log("url: " + wholeURL);}}}}}}); }); }getArticles().then(function(token) {});執(zhí)行后的輸出:
1042416@CTUN50947961A c:\Code\wechat\unittest$ node jianshuexport. js title:我做SAP CRM One Order redesign的一些心得體會(huì)url: https://www.jianshu.com/p/5c1d0319dc42title:一個(gè)最簡(jiǎn)單的webSocket hello world demourl: https://www.jianshu. com/p/b820e0acc120title:推薦一個(gè)非常好用的以多tab標(biāo)簽方式打開(kāi)windows CMD的工具url: https://www.jianshu.com/p/3f8cc02eaa8etitle:基于SAML的web Single Sign On的一個(gè)具體例子url: https://www.jianshu.com/p/19344c23doaftitle: SAP CX Upscale Commerce : SAP全新推出的電商云平臺(tái)url: https://www.jianshu.com/p/5d8352653e67title: TCP socket和web socket的區(qū)另 url: https://www.jianshu.com/p/8a08f81d3efbtitle: Visual Studio code設(shè)置斷點(diǎn)時(shí)出現(xiàn)unverified breakpoint的錯(cuò)誤處理方式url: https://www.jianshu.com/p/d004f4dc7826title: Fiori Fundamentals和SAP UI5 Web Componentsurl: https://www.jianshu.com/p/5389ca51fa44title: SAP前端技術(shù)的演化史簡(jiǎn)介 url: https://www.jianshu.com/p/140e07afd035要獲取更多Jerry的原創(chuàng)文章,請(qǐng)關(guān)注公眾號(hào)"汪子熙":
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的使用nodejs将某个简书用户的文章进行导出的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: ABAP很厉害是怎么一种体验?
- 下一篇: PLAI那些事02 WAE