Requests的使用
按住方式:pip3 install requests
1、response的常用方法:
一、get请求
print(response.text) #页面源码
print(response.status_code) # 状态吗
print(response.headers) # 响应头
print(response.request.headers) #获取请求头
print(response.content) #获取页面的二进制数据
* response.encoding = 'utf-8' 可以设置编码类型
* response.encoding 获取当前的编码
* response.json() 内置的JSON解码器,以json形式返回,前提返回的内容确保是json格式的,不然解析出错会抛异常
二、post请求
response = requests.post(url=url, data = data)
* url:post请求的目标url
* data:post请求的表单数据
post请求上传文件
from_data = {
'username':'LXJ',
'password':'292143060li'
}
url = 'http://127.0.0.1:8001/api/login/'
headers = {
'User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36'
}
response = requests.post(url=url,data=from_data,headers=headers)
url = 'https://httpbin.org/post'
files = {'file':open('pages.html','r',encoding='gbk')}
# 读取本地文件
response = requests.post(url=url,files=files,headers=headers)
if response.status_code == 200:
print('文件上传成功')
print(response.text)
设置代理(proxies参数)
import requests
url = 'http://college.gaokao.com/schlist/'
# params : 跟的是get请求url地址后?后面拼接的参数
headers = {'User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36'}
proxies = {
'http':'192.168.2.913:8992',
'http':'192.168.2.913:9923',
}
response = requests.get(url,params=None,headers=headers,proxies=proxies)
XPath选择器
<1>什么是XPath?
- XPath (XML Path Language) 是一门在 XML 文档中查找信息的语言,可用来在 XML 文档中对元素和属性进行遍历。
<2>XPath最常用的路径表达式:
- /从根节点选取。
- //从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置。
- .选取当前节点。
- …选取当前节点的父节点。
- @选取属性。
- bookstore选取 bookstore 元素的所有子节点。
- /bookstore选取根元素 bookstore。注释:假如路径起始于正斜杠( / ),则此路径始终代表到某元素的绝对路径!
- bookstore/book选取属于 bookstore 的子元素的所有 book 元素。
- //book选取所有 book 子元素,而不管它们在文档中的位置。
- bookstore//book选择属于 bookstore 元素的后代的所有 book 元素,而不管它们位于 bookstore 之下的什么位置。
- //@lang选取名为 lang 的所有属性。
- /bookstore/*选取 bookstore 元素的所有子元素。
- //*选取文档中的所有元素。html/node()/meta/@*选择html下面任意节点下的meta节点的所有属性
- //title[@*]选取所有带有属性的 title 元素。