urllib、requests的使用
写在前面
urllib:它是 Python 内置的 HTTP 请求库
Requests:也是HTTP 请求库,比urllib更易使用
Requests中文翻译文档
http://2.python-requests.org/zh_CN/latest/user/quickstart.html
1、urllib的使用
urllib的request模块可以非常方便地抓取URL内容
1.1、request.urlopen
①例如,对豆瓣的一个URLhttps://api.douban.com/v2/book/2129650进行抓取,并返回响应:
from urllib import request
with request.urlopen('https://api.douban.com/v2/book/2129650') as f:
data = f.read()
print('Status:', f.status, f.reason)
for k, v in f.getheaders():
print('%s: %s' % (k, v))
print('Data:', data.decode('utf-8'))
② req.add_header ()例:
urllib的方法、属性 | 解释 |
---|---|
f.read() | 读取f的内容 |
f.status | 状态码 |
f.reason | 响应消息 |
f.getheaders() | 获取f的头信息 |
req.add_header () | 添加访问头信息 |
1.2、使用GET参数
1.3、使用POST传递参数
1.4、代理ip请求远程url
1.5、urlpase模块
urlparse模块主要是用于解析url中的参数 对url按照一定格式进行 拆分或拼接
2、requests的使用
安装
pip install requests
2.1、requests.get()
get请求带参数
2.2、requests.post()
requests其他请求方式
>>> r = requests.put('http://httpbin.org/put', data = {'key':'value'})
>>> r = requests.delete('http://httpbin.org/delete')
>>> r = requests.head('http://httpbin.org/get')
>>> r = requests.options('http://httpbin.org/get')
2.3、自定义headers
2.4、带cookies请求
2.5、Basic-auth认证请求
2.6、主动抛出状态码异常
2.7、session()
2.8、代理
3、代理服务器
这里我用文字加截图的形式,如果想要简介一点的教程可以参考
https://blog.csdn.net/weixin_41607151/article/details/80671649
用Xshell打开服务器,这里我服务器的系统是linux centos7
安装 tinyproxy:
yum install tinyproxy
安装中间可能会问你yes or no 输入一个y就行
装完之后编辑配置文件:vim /etc/tinyproxy/tinyproxy.conf
使用vim的搜索功能,搜Allow:/Allow
显示行数:输入“:set number”回车
按键盘上的n可以向下查找Allow,这行一般在210行这儿
按键盘上的insert,然后输入一个#,把这行注释掉
找到23行的port
这里我的安全策略里面打开的是41801端口,所以我改成41801,然后保存并退出
不知道安全策略端口的看下图
重启服务:systemctl restart tinyproxy
打开日志:tail -f /var/log/tinyproxy/tinyproxy.log
使用之前先查看防火墙是否开放41801端口
firewall-cmd --zone=public --list-ports 查询开放状态
firewall-cmd --zone=public --add-port=41801/tcp --permanent 设置41801开放
firewall-cmd --reload
liunix环境下使用代理
windows下使用代理