这篇文章 主要学习这两个模块的使用:
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 中国語 Web サイトの他の関連記事を参照してください。

去掉重复并排序的方法: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 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

Dreamweaver Mac版
ビジュアル Web 開発ツール

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境
