1.requests.utils.dict_from_cookiejjar 把cookie对象转为字典
2.请求ssl证书验证
response=requests.get(‘https://www.12306.cn/mormweb/’,verify=False)
3.设置超时
response=requests.get(url,timeout=10)
4,配合状态码判断是否请求成功
assert resonse.status_code=200
import requests
def change_cookie_2_dict(response):
'''
将cookie转为字典形式
:param response:
:return:
'''
print(response.cookies)
cookie_dict = requests.utils.dict_from_cookiejar(response.cookies)
print(cookie_dict)
def http_jiema():
'''
将编码的浏览器地址解码
例如https://www.baidu.com/s?wd=%E7%BE%8E%E5%A5%B3%E5%9B%BE%E7%89%87
解码成https://www.baidu.com/s?wd=美女
:param response:
:return:
'''
http_change=requests.utils.unquote("https://www.baidu.com/s?wd=%E7%BE%8E%E5%A5%B3%E5%9B%BE%E7%89%87")
print(http_change)
def run():
headers={
'User-Agent': 'Mozilla / 5.0(Windows NT 6.1;WOW64) AppleWebKit / 537.36(KHTML, likeGecko) Chrome / 70.0.3538.67Safari / 537.36'
}
response=requests.get('http://www.baidu.com',headers=headers)
change_cookie_2_dict(response)
http_jiema()
if __name__ == '__main__':
run()
定位浏览器中js位置
- 选择会触发js时间的按钮,点击event listener,找到js的位置
- 通过chrome中的search all file来搜索关键字
寻找登陆的post地址(和导航栏的地址不一样)
1,在form表单中有action对应的url地址(这种相对简单)
2,没有action对应地址,采用抓包。
- 勾选perserve log 按钮,防止页面跳转,找不到url
- url里面的参数是否可变:1,不变,直接用。2,变化,在js和页面中寻找(js中采用断点的方式和参看参数)