first commit

This commit is contained in:
编码猿
2024-09-27 02:06:13 +08:00
commit 852d94fbb9
36760 changed files with 3274413 additions and 0 deletions

View File

@@ -0,0 +1,10 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h2>我是首页</h2>
</body>
</html>

View File

@@ -0,0 +1,19 @@
// var a = require("./util");
// var { test } = require("./util");
//
// test();
const http = require('src/http');
const fs = require('fs');
// 创建本地服务器来从其接收数据
const server = http.createServer((req, res) => {
var data = fs.readFileSync("index.html");
res.writeHead(200, { 'Content-Type': 'text/html' });
res.end(data.toString());
});
server.listen(80);
// http 80
// http 443

View File

@@ -0,0 +1,18 @@
{
"name": "2021-12-08",
"version": "1.0.1",
"description": "nodejs 学习",
"main": "index.js",
"scripts": {
"start": "node-dev index.js",
"pc": "node src/index.js"
},
"author": "bmy",
"license": "ISC",
"devDependencies": {},
"dependencies": {
"axios": "^0.24.0",
"cheerio": "^1.0.0-rc.10",
"iconv-lite": "^0.6.3"
}
}

View File

@@ -0,0 +1,4 @@
module.exports = {
url: 'https://pic.netbian.com/4kmeinv/',
picUrl: 'https://pic.netbian.com'
}

View File

@@ -0,0 +1,26 @@
const axios = require('axios');
const iconv = require('iconv-lite');
const cheerio = require('cheerio');
class Http {
constructor() {
this.instance = axios.create({
timeout: 10000,
headers: {}
});
}
async get (params) {
let res = await this.instance.get(params.url, {
responseType: params.type == 1 ? "arraybuffer" : "stream"
});
if (params.type == 1) {
return cheerio.load(iconv.decode(res.data, 'gbk'));
}
return res.data;
}
}
module.exports = new Http();

View File

@@ -0,0 +1,73 @@
const http = require('./http');
const config = require('./config');
const fs = require('fs');
let urlArr = [] // 存放被请求的页面地址
let urlArrIndex = 0; // 默认从第几页开始爬
let pageArr = [] // 存放每一页的20条li数据
let pageArrIndex = 0 // 默认爬第几页的第几个图片
for (let i = 1; i <= 10; i++) {
if (i == 1) {
urlArr.push(`${config.url}index.html`)
} else {
urlArr.push(`${config.url}index_${i}.html`)
}
}
async function getUrlArr() {
let $ = await http.get({
url: urlArr[urlArrIndex],
type: 1
});
$(".slist li").each(function () {
pageArr.push({
title: $(this).find("b").text(),
img: config.picUrl+$(this).find("img").attr("src"),
url: config.picUrl+$(this).find("a").attr("href")
})
});
getPageArr()
}
async function getPageArr() {
console.log(`已获取第 ${urlArrIndex + 1}页, 的第几张 ${pageArrIndex + 1}图`)
let $ = await http.get({
url: pageArr[pageArrIndex].url,
type: 1
});
downImg(config.picUrl + $(".photo-pic img").attr("src"))
}
async function downImg(url) {
let res = await http.get({
url: url,
type: 2
});
res.pipe(fs.createWriteStream(`img/${fileName()}.jpg`));
pageArrIndex += 1;
if (pageArrIndex <= 19) {
getPageArr()
} else {
urlArrIndex += 1;
if (urlArrIndex < 10) {
pageArrIndex = 0;
pageArr = [];
getUrlArr()
}
}
}
function fileName() {
return `${Math.random() * 1000000}${Date.parse(new Date())}`
}
getUrlArr()

View File

@@ -0,0 +1,12 @@
class util {
test () {
console.log("test函数");
}
}
module.exports = new util();
// 导出
// 想用的地方导入

View File

@@ -0,0 +1,66 @@
lsnodejs :不是编程语言,也不是js插件,它是一个让js可以成为后端编程语言的 运行环境
npm: 包(依赖“插件”)管理工具
https://www.npmjs.com/
jquery
运行环境
v8(运行js) + c++
nodejs (js) 想要读取c盘文件列表
|
| v8 运行js
|
c++
|
操作系统
nodejs: 让js编程一个强大的后端编程语言
js: 必须依赖浏览器 (js引擎 v8)
前端:html + css + js
后端:php,java,go,c#,python
1: html + css + js
2:jquery mvc阶段
nodejs
3:vue.js react.js mvvm
npm init 初始化一个全新的nodejs项目
创建文件:package.json 最核心的文件!!!!!!不能丢!!!!
package.json:记录了项目的作者,代码运行方式,依赖的信息等等等
npm install(i) 参数 插件名(系统提供内置插件 & 你自己下载) 下载安装插件
cnpm
参数
--save (-S) 把插件安装到正式阶段
--save-dev(-D) 把插件安装到开发阶段
-g 把插件安装到系统全局
install 安装的插件会自动放在 node_modules 文件夹中
dependencies:依赖信息 正式阶段
devDependencies: 开发阶段
npm run 命令 运行你的命令
后端渲染
前后端分离
爬虫: