一般爬虫用python的 requests 库,非常方便
import requests #导入requests包
url = 'http://www.cntour.cn/'
strhtml = requests.get(url) #Get方式获取网页数据
print(strhtml.text)
那用JavaScript如何实现呢,一种方法是使用AJAX
注意的是浏览器默认支持AJAX,但node.js没有,所以需要npm install xmlhttprequest
var XMLHttpRequest = require('xmlhttprequest').XMLHttpRequest;
let url = "http://localhost:8003/WorkAll/CurrentStateNO"; //这个url需要打开cfet2app后台程序用于测试
//let url = "https://baidu.com";
var xmlhttp = new XMLHttpRequest();
xmlhttp.open("GET", url, true);
xmlhttp.send();
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
console.log(xmlhttp.responseText);
//如果返回的是json格式文档,使用下面两行代码
//var obj=JSON.parse(xmlhttp.responseText);
//console.log(obj);
}
};
执行这个脚本就可以起到postman的作用了
另一种方法是使用axios代替AJAX,同样需要npm install axios
Axios 是一个基于 promise 网络请求库,作用于node.js 和浏览器中。
axios是AJAX的更高一层封装。服务端它使用原生 node.js http 模块, 而在客户端 (浏览端) 则使用 XMLHttpRequests。
官网:https://www.axios-http.cn/
const axios = require('axios');
// 设置要爬取的 URL
//let url = "https://www.baidu.com";
let url = "http://localhost:8003/WorkAll/CurrentStateNO";
axios(url).then(response => {
// 打印 HTTP 响应状态
console.log(response.status);
// 打印响应头信息
console.log(response.headers);
// 打印响应数据
console.log(response.data);
}).catch(error => {
console.error(error);
});
本文章使用limfx的vscode插件快速发布