RESTful_API只有听最後一堂
1.Lab_AJAX_Node.js
localhost:80
2.自动寄信
Lab_SendMail
ourNodeApp nodemailer Gamil > 寄信
(1)寄信的信箱变更安全性
在左边侧边栏,点按「安全性」
如果「低安全性应用程序存取权」的状态不是「开启」,
请点一下「开启存取权」
Note
请用分身帐号练习,或者在本练习之後,关闭存取权
(2)安装 nodemailer
npm install nodemailer
(3)在本资料夹新建档案,档名: index.js,内容如下
var nodemailer = require("nodemailer");
var transporter = nodemailer.createTransport({
service: "gmail",
auth: {
user: "帐号", // lab 3.2
pass: "密码" // lab 3.2
}
});
var mailOptions = {
from: "帐号", // lab 3.3
to: "寄给谁?", // lab 3.3
subject: "用程序寄信给自己", // lab 3.5
// text: "Mail body (Text)", // lab 3.6
html: "<h1>Heading</h1><a href='https://en.wikipedia.org/'>Wiki</a>"
};
transporter.sendMail(mailOptions, function(error, info){
if (error) {
console.log(error);
} else {
console.log("讯息发送: " + info.response);
}
});
(4)在终端机视窗,输入
node index.js
(5)收信
3.爬虫
Lab_Puppeteer(爬虫) > lab.js
(1)安装 Puppeteer
npm install puppeteer
(2)在本资料夹建立新的 JavaScript 档案(lab.js)
const puppeteer = require('puppeteer');
async function main () {
const browser = await puppeteer.launch({headless: false}); //1.启动浏览器
const page = await browser.newPage(); //2.开一个页签
//3.浏览这页
await page.goto('https://www.taipower.com.tw/TC/news2.aspx?mid=225', {waitUntil: 'networkidle2'});
// 跑完网页会拍照储存成example.png,并关闭
// await page.screenshot({path: 'example.png'});
// await browser.close();
// 跑到网页,按右上focus输入earth,并按下方向键"下"
// await page.goto('https://en.wikipedia.org/wiki/Wiki', {waitUntil: 'networkidle2'});
// await page.focus("#searchInput");
// await page.keyboard.type('earth');
// await page.keyboard.press('ArrowDown');
// await page.keyboard.press('\n');
// 模拟滑鼠点一下
// (await page.$("#searchButton")).click();
// await delay(1000);
// await page.keyboard.press('ArrowDown');
// await page.keyboard.press('\n');
// await delay(1000);
// await page.screenshot({path: 'example.png'});
// await browser.close();
await page.addScriptTag({url: 'https://code.jquery.com/jquery-3.2.1.min.js'}) //4.让网页加入JS
// 5.撷取网页内容
var dataList = await page.evaluate( () => {
let result = []; //6.网页内容转成阵列
const $ = window.$; //7.把JS的$拿出来用
let liList = $("#news_box3 > div.box_list > ul > li");
liList.each(function (index, element) { //第几个,内容
var newsItem = { //把每个li都拿出来
newsUrl: $(element).find("a").prop("href"),
newsTitle: $(element).find("a div h3").text(),
newsTime: $(element).find("a div span").text()
};
result.push(newsItem); //8.加到阵列里面
})
return result;
})
await browser.close(); //9.关掉网页
console.log(dataList); //10.显示
}
main();
(3)在终端机视窗,执行程序
node lab.js
顺利的话,会启动 Google 浏览器,并在终端机显示内文
<<: IOS、Python自学心得30天 Day-17 learning rate
Auto-Scaling设置内容较多,我们快速回顾一下昨天的架构图: 针对外面的流量,我们提供使用者...
俗话说:「人不可貌相,海水不可斗量。」就像我们看到郭靖傻不楞登,怎麽知道他武功高强。杨康外表英俊,...
第二种启动相机的方法 昨天勾选 Camera 的 Auto Start 来启动相机。 今天使用第二种...
在前面元件以及生命周期的章节中我们提过 render() 这个方法,而且有特别指出它是在 Clas...
来部落格看图文并茂文章 补觉鸣诗 所谓的稽核 很多人都会担心做不好就惩处 导致稽核前大家人仰马翻 其...