常用内置模块

本文介绍Node.js中的HTTP模块使用方法,包括数据请求、简单爬虫及代理跨域处理技巧。同时探讨了Node.js事件机制、文件操作及流处理等关键概念,并讲解如何利用第三方模块解决实际问题。

一.Http模块

	 - http.get
	 - http.request

(从nowapi中找一个免费接口,进行数据请求)

1.简单的小爬虫
爬虫:从一个网站爬取一段数据->数据请求->后端服务器->发送前端->渲染数据

		(反爬虫网站不可以爬虫)

2.代理跨域处理
后端
api服务器

 - Node.js中api服务器的创建,我们使用一个第三放库(express)

后端解决跨域问题

- 设置请求头
- 使用中间件   第三方的包  cors

3.后端服务器

-web服务器【静态服务器】

-api服务器【暴露接口】

请求头部报文

- general
- response Headers
- request Headers
- 携带参数
		- query string paramters  (get请求)
		- form data   (post请求)

二.node.js的event模块
node.js中 事件的发布+事件的订阅 表示一个任务的执行

三.文件fs模块

四.Stream流模块
数据实现非阻塞
​gulp(流式操作)
流程:

  • 1.读取文件
  • 2.创建压缩包
  • 3.将读取的数据流写入压缩包
  • 4.输出压缩

五.第三方模块:我们一般都是从npmjs.com 这个网站拉取流程:

1.安装 先创建package.json。

​ npm/cnpm i request -S/-D

  • -S --save 生产环境
  • -D --save-dev 开发环境 (dev是 development 的缩写)
    2.使用request 这个模块做数据请求。
    3.Node中数据请求不存在跨域。
Python常用内置模块有很多,以下为你介绍部分模块: - **os模块**:Python标准库包含丰富的内置模块,os模块是其中之一,可用于实现系统级功能,如文件I/O等,能帮助开发者轻松实现各种常见任务,无需依赖外部库 [^1]。 - **collections模块**:该模块在list、tuple、set、map的基础上,提供了很多更高级的容器。其中包含namedtuple(命名元组,可用来表示一些简单的定义,如点、三角形等)、deque(双端队列,相比list有更高效的插入和删除性能)、defaultdict(可设置一个默认值,若没有对应的key,就返回默认值,而基础的字典结构在这种情况下会报错)、OrderedDict(key - value会按照插入时的顺序,即使访问key、对key做更新也不会改变顺序)、ChainMap(按顺序查找多个map,找到就返回)等 [^3]。 ### 代码示例 ```python # os模块示例 import os # 获取当前工作目录 current_dir = os.getcwd() print(current_dir) # collections模块示例 from collections import namedtuple, deque, defaultdict, OrderedDict, ChainMap # 命名元组 Point = namedtuple('Point', ['x', 'y']) point = Point(3, 4) print(point.x, point.y) # 双端队列 dq = deque([1, 2, 3]) dq.append(4) dq.appendleft(0) print(dq) dq.pop() dq.pop() dq.popleft() print(dq) # 默认字典 dd = defaultdict(lambda: "null") dd["name"] = "zhangsan" print(dd["name"]) print(dd["age"]) # 有序字典 od = OrderedDict() od["name"] = "zhangsan" od["age"] = 18 od["sex"] = "male" print(od.keys()) od.get("age") od["age"] = 20 print(od.keys()) # 链式映射 map1 = {"name": "zhangsan", "age": 18} map2 = {"name": "lisi", "age": 20, "sex": "male"} map3 = {"name": "wangwu", "age": 22, "sex": "female"} cm = ChainMap(map1, map2, map3) print(cm.get("name")) print(cm.get("sex")) ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值