这篇文章 主要学习这两个模块的使用:
nodejs有个request模块,专门处理这些网络请求方面的。 就像.NET也有request,webclient,httpclient啥的。。。
nodejs的request使用方法在这,自己查一下:
而我喜欢用async和await的写法,因此我还引入了request-promise-native 模块, ,这个就相当于.NET中httpclient吧。
好了背景就讲这么多,我们就开始简单的使用request-promise-native,进行模拟提交。
我用淘宝镜像安装模块,会比较快比较快一些,注册淘宝镜像方式:
npm install -g cnpm --registry=
然安装模块:
cnpm install --save request cnpm install --save request-promise-native
我们登陆后 ,尝试发一篇文章,然我们分析一下提交的东西:
主要是 Cookie以及 FormData。
好了,然后我们写一个 cnblogs,来处理提交,代码:
const request = require('request-promise-native'); // const proxy = 'http://127.0.0.1:8888'; const url = 'https://i.cnblogs.com/EditPosts.aspx?opt=1'; class Cnblogs { static async save({ title, content, postdate }) { let response = await request({ url: url, method: 'POST', headers: { Cookie: '[隐私隐私隐私]', }, form: { __VIEWSTATE: '===========', __VIEWSTATEGENERATOR: 'FE27D343', Editor$Edit$txbTitle: title, Editor$Edit$EditorBody: `<p style="color: red; font-weight: bold;">原文发布时间为:${postdate} —— 来源于本人的百度文章 [由搬家工具导入]</p>${content}`, Editor$Edit$APOptions$Advancedpanel1$cklCategories$0: '1031596', Editor$Edit$Advanced$ckbPublished: 'on', Editor$Edit$Advanced$chkDisplayHomePage: 'on', Editor$Edit$Advanced$chkComments: 'on', Editor$Edit$Advanced$chkMainSyndication: 'on', Editor$Edit$lkbPost: '发布' } }); return response; } } module.exports = Cnblogs;
const cnblogs = require('./cnblogs'); const main = async () => { try { let response = await cnblogs.save('测试','测试内容','2018-01-01'); console.log(response); } catch (err) { console.error('[ERROR]', err); } }; main();

抓取文章也是很简单的,为了方便从response查找dom,我们可以用这个模块 cheerio : , 就类似于我们做.NET的时候会用 HtmlAgilityPack 来查找dom一样。
cheerio 可以去看看,他的语法跟jquery一样,使用起来很方便。
以上是關於Nodejs實現的搬家工具知識的圖文程式碼介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!

去掉重复并排序的方法:1、使用“Array.from(new Set(arr))”或者“[…new Set(arr)]”语句,去掉数组中的重复元素,返回去重后的新数组;2、利用sort()对去重数组进行排序,语法“去重数组.sort()”。

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于Symbol类型、隐藏属性及全局注册表的相关问题,包括了Symbol类型的描述、Symbol不会隐式转字符串等问题,下面一起来看一下,希望对大家有帮助。

怎么制作文字轮播与图片轮播?大家第一想到的是不是利用js,其实利用纯CSS也能实现文字轮播与图片轮播,下面来看看实现方法,希望对大家有所帮助!

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于对象的构造函数和new操作符,构造函数是所有对象的成员方法中,最早被调用的那个,下面一起来看一下吧,希望对大家有帮助。

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于面向对象的相关问题,包括了属性描述符、数据描述符、存取描述符等等内容,下面一起来看一下,希望对大家有帮助。

方法:1、利用“点击元素对象.unbind("click");”方法,该方法可以移除被选元素的事件处理程序;2、利用“点击元素对象.off("click");”方法,该方法可以移除通过on()方法添加的事件处理程序。

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于BOM操作的相关问题,包括了window对象的常见事件、JavaScript执行机制等等相关内容,下面一起来看一下,希望对大家有帮助。

foreach不是es6的方法。foreach是es3中一个遍历数组的方法,可以调用数组的每个元素,并将元素传给回调函数进行处理,语法“array.forEach(function(当前元素,索引,数组){...})”;该方法不处理空数组。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

Dreamweaver Mac版
視覺化網頁開發工具