第一个函数requests.request()
post请求 data =""(字典或者元组的列表)
get请求 params=""(字典,元组的列表)
服务器不支持json传入数据,
headers来设置请求头信息,(字典的形式传入)
cookies(字典形式传入)
allow——readirects:控制是否允许重定向,传入布尔值,默认是True表示自动重定向
通过proxies来更改代理
https响应是HTML,非json只能调text()
sslerro错误是没有配置证书
verify= False来设置证书
files是用来传文件,files= {“file”:open(文件路径,“rb”)}
json为空写null,是一种文件格式
字典为空写none,是一种文件格式,是python中的数据类型
text()把响应中的正文一字符串文本的形式返回,适用于响应是json和xml
json()把响应中的正文转成json序列化的python的对象返回(json.loads),结果是一个字典,适用响应是json
第二个函数
respon_1 =requests.post(url,data=dict_1).json()
respon_2 =requests.get(url,params=dict_1).json())
不重定向allow_redirects=False
update()把一个cookies对象更新到另外一个cookieJAR中
传入cookies有两种方法,
①通过cookie的参数信息传入
②headers参数传入cookie的信息,较麻烦
自动解决cookie保存与发送,推荐用
requests.sessions.Session()
Session可以解决全局的问题,cookie,请求头,参数,CA证书等等
正则表达式(提取数据)
. 任意字符的通配,单独使用表示一个字符的通配
* 匹配0个或者多个前面的字符,
+ 匹配1个或者多个前面的字符
?非贪婪模式
{m}最多匹配m个字符
{m,n}匹配m到n个字符,默认贪婪模式
{m,n}?匹配m到n个字符,非贪婪模式
\d 匹配一个数字
\D匹配一个非数字
\w匹配任意一个unicode单词字符
\W
^匹配字符串的开头
$匹配字符串的结尾
【】匹配一个中括号内的任意一个字符
\转译为同一个类型的含义
【^6】匹配非6以外的字符
【2-6】匹配2到6的任意一个字符
\s匹配一个空白字符
\S匹配一份非空白字符
re.findall(pattern,string):把匹配到的结果以列表返回。
re.search(pattern,string):找第一个匹配的内容,如果找到,就返回相应的match对象,如果找不到就返回None。
re.match(pattern,string):从字符串的开头匹配,如果匹配到内容
就返回相应的match对象,如果匹配不到就返回None。
re.fullmatch(pattern,string):根据正则表达式判断整个字符串是否匹配正则表达式,如果匹配就返回相应的match对象,如果不匹配就返回None。
re.compile(pattern):作用是编码传入的正则表达式,返回正则表达式对象,正则表达式对象中具有findall/search/match/fullmatch等同名的方法