一、Request模块

1.HTTP for Humans,更简洁更友好

2.继承了urllib所有的特征

3.底层使用的是urllib3

4.​开源地址:https://github.com/requests/requests

5.中文文档​:https://requests.readthedocs.io/zh_CN/latest/

6.先安装这个包:pip install requests

7.get请求

(1)requests.get()

(2)requests.request("get",url)

(3)可以带有headers和params参数

8.get返回内容

import requests

​

#两种请求

url = "http://www.baidu.com/s?"

rsp = requests.get(url)

# print(rsp.text)

​

#使用get请求

rsp = requests.request("GET",url)

# print(rsp.text)

#拿到的结果都是一样的

​

"""

使用参数headers和params来研究返回结果

"""

kw = {

    "wd":"python中文文档"

}

headers = {

    "User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.116 Safari/537.36"

}

rsp=requests.get(url,params=kw,headers=headers)

print(rsp.text)

print("=========================")

print(rsp.content)

print("=========================")

print(rsp.url)

print(rsp.encoding)

print(rsp.status_code)

二、post

data,headers要求使用dict

import requests

from urllib import parse

import json

url = "http://www.baidu.com/s?"

data = {

    "kw":"girl"

}

# data = parse.urlencode(data).encode("utf-8")

headers = {

    "User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.116 Safari/537.36"

}

rsp = requests.post(url,data=data,headers=headers)

print(rsp.text)

# print(rsp.json())

三、proxy代理

1.代理有可能会报错,如果使用人数多,考虑到安全问题,可能会被强行关闭

2.用户验证

(1)代理验证​:可能需要HTTP basic Auth

proxy = {"http":"china:123456@192.168.1.123:458"}

#格式为   用户名:密码@代理地址:端口地址

rsp = requests.get("http://baidu.com",proxies=proxy)

(2)web客户端验证

如果遇到web客户端验证,需要添加auth=(用户名,密码)

auth = {"test",""}#授权信息

rsp = requests.get("http://www.baidu.com",auth=auth)

四、源码

Reptitle10_1_Requests.py

Reptitle10_2_Post.py

https://github.com/ruigege66/PythonReptile/blob/master/Reptitle10_1_Requests.py

https://github.com/ruigege66/PythonReptile/blob/master/Reptitle10_2_Post.py

2.CSDN:https://blog.csdn.net/weixin_44630050

3.博客园:https://www.cnblogs.com/ruigege0000/

4.欢迎关注微信公众号:傅里叶变换,个人公众号,仅用于学习交流,后台回复”礼包“,获取大数据学习资料

最新文章

  1. flask源码分析
  2. CompoundButton.OnCheckedChangeListener与RadioGroup.OnCheckedChangeListener冲突
  3. .NET (五)委托第五讲:内置委托Predicate
  4. Java实现敏感词过滤
  5. Atitit html5 Canvas 如何自适应屏幕大小
  6. List<List<String>>
  7. Javascript输出表格
  8. 解决json跨域时错误:SyntaxError: invalid label
  9. 使用matplot绘图 @python
  10. 从xml文件中读取注释
  11. Javascript之数据执行原理探究
  12. 0x04 高级语法
  13. c++ 枚举 在函数中的应用
  14. 中位数的和_KEY
  15. Linux开机时停在 Starting sendmail 不动了的解决方案
  16. Swift下多个Storyboard的项目结构
  17. 【一天一道LeetCode】#95. Unique Binary Search Trees II
  18. 【进阶1-1期】理解JavaScript 中的执行上下文和执行栈(转)
  19. Linux内核总结博客 20135332武西垚
  20. Hadoop大数据分析应用场景

热门文章

  1. 这个时候 快下班了 我来翻译一段: Pro ASP.NET MVC 3 Framework
  2. IDEA工具java开发之 常用窗口
  3. view 视图函数
  4. Kotlin DSL for HTML实例解析
  5. kali-2019.4中文乱码问题的解决
  6. EL表达式(Exprission language)
  7. Paper慢慢读 - AB实验人群定向 Double Machine Learning
  8. Arduino系列之DHT11模块采集数据(一)
  9. 二、UDP
  10. OpenGL学习网址2