简单爬虫之requests的使用

Requests库的用法

  1. 安装
  • pip install requests
  1. 基本请求
response=requests.get(参数)
response=requests.post(参数)
response=requests.put(参数)
response=requests.delete(参数)
response=requests.head(参数)
response=requests.options(参数)

2.1 get请求

  • 参数是字典,也可以传递json类型的参数
import requests
url="https://www.baidu.com/s"
headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36",
    }
params={
    "wd":"西安邮电大学"
}
response=requests.get(url,headers=headers,params=params)
print(response.text)

2.2 post请求

  • 参数是字典,也可以传递json类型的参数
import  requests
headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36",
    }
datas = {
        "user": "17703181473",
        "password": "123456"
    }
url = "https://www.sxt.cn/login/login"
response=requests.post(url,headers=headers,data=datas)
print(response.text)

2.3 代理访问

  • 采集时为避免被封IP,经常会使用代理,requests也有相应的proxies属性
#部分代码如下
url="http://httpbin.org/get"
proxies={
    "http":"118.190.95.43:9001"
}
response=requests.get(url,headers=headers,proxies=proxies)
#如果代理需要账户和密码,就是下面的代码
proxies={  "http":"398707160:[email protected]:16818"#user:passwd@ip:port
}

2.4 session自动保存cookie

  • session的意思是保持一个会话,比如登录后继续操作(记录身份信息),而requests是单词请求的请求,身份信息不会被记录
session=requests.Session()#创建一个session对象
datas = {
        "user": "17703181473",
        "password": "123456"
}
login_url="https://www.sxt.cn/login/login"
response=session.post(login_url,headers=headers,data=datas)

info_url="https://www.sxt.cn/index/user.html"
respon=session.get(info_url,headers=headers)

2.5 ssl验证

url="https://www.12306.cn/mormhweb/"
requests.packages.urllib3.disable_warnings()#关闭安全请求警告
response=requests.get(url,verify=False,headers=headers)
response.encoding="utf-8"
  1. 获取响应信息
  • response.json() 获取响应内容(以json字符串)
  • response.text() 获取响应内容(以字符串)
  • response.content获取响应内容(以字节的方式)
  • response.headers 获取响应头内容
  • response.url 获取访问地址
  • response.encoding 获取网页编码
  • response.request.headers 请求头内容

猜你喜欢

转载自blog.csdn.net/qq_41386300/article/details/83014420