爬虫框架
Request
requests是使用Apache2 licensed 许可证的HTTP库。
用python编写。
比urllib2模块更简洁。
Request支持HTTP连接保持和连接池,支持使用cookie保持会话,支持文件上传,支持自动响应内容的编码,支持国际化的URL和POST数据自动编码。
在python内置模块的基础上进行了高度的封装,从而使得python进行网络请求时,变得人性化,使用Requests可以轻而易举的完成浏览器可有的任何操作。
现代,国际化,友好。
requests会自动实现持久连接keep-alive
客户端
import requests
r1= requests.post(
url="http://127.0.0.1:8000/login/",
data={"username":"alex","password":123}
)
print(r1.text)
模拟服务端
from django.shortcuts import render,HttpResponse # Create your views here. def login(request): print(request.POST) print(request.body ) return HttpResponse( "......")
打印结果
data参数传递的数据格式为
b'username=alex&password=123'
import requests
r1= requests.post(
url="http://127.0.0.1:8000/login/",
json={"username":"alex","password":123}
)
print(r1.text)
模拟服务端
from django.shortcuts import render,HttpResponse # Create your views here. def login(request): print(request.POST) print(request.body ) return HttpResponse( "......")
打印出来的是json字符串
为什么request.post是空的 ,因为 post解析不了 JSON格式的formdata 没有json解析器。
twisted框架
twisted网络框架的三个基础模块:Protocol, ProtocolFactory, Transport.这三个模块是构成twisted服务器端与客户端程序的基本。 Protocol:Protocol对象实现协议内容,即通信的内容协议 ProtocolFactory: 是工厂模式的体现,在这里面生成协议 Transport: 是用来收发数据,服务器端与客户端的数据收发与处理都是基于这个模块 在windows中安装twisted需要先安装pywin32,自己去下载下就行。随后pip install twisted就会帮我们安装twisted以及zope。