import requests as re
from retrying import retry
# 使用在爬虫抓取超时
@retry(stop_max_attempt_number=3) #让装饰的函数执行三遍,三遍报错才会报错,中间有一次正常,程序会继续往后走
def abc():
pass
dir = {}
# 网络请求格式
# 不同格式的网络请求
# r = re.get('http://ptlogin.estay.com/') # get格式
# r1 = re.get('http://ptlogin.estay.com/get',params = dir) # get格式抓取并添加到 dir 字典
# r2 = re.post('http://ptlogin.estay.com/post',data=dir) # post格式
# r3 = re.put("http://ptlogin.estay.com/put")
# r4 = re.delete("http://pms.estay.com/delete")
# r5 = re.head("http://pms.estay.com/head")
# r6 = re.options("http://pms.estay.com/options")
# print(r.text)
# print(r1.text)
# print(r2.text)
# print(r3.text)
# print(r4.text)
# print(r5.text)
# print(r6.text)
# print(r.content) # 二进制数据
url = 'http://pms.estay.com/ui/'
# 如果爬虫被屏蔽 就可以修改 User-Agent和Referer参数来让服务器重新识别爬虫
headers = {r"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36"
,"Referer":"http://pms.estay.com/ui/"}
r = re.get(url,headers=headers,timeout=3)
# headrs 修改代理 timeout 超时 3秒内要做出反应,否则报错
# 指定编码打开
r.encoding = 'utf-8'
# print(r.text) # text 会根据响应头部来自动选择编码模式
# 使用二进制字节流打开并转化为str类型
# print(r.content.decode()) # decode默认utf-8 (可以修改为.decode('gbk'))
# print(r.request.url) # 请求的url
# print(r.url) # 响应的url
# print(r.headers) # 请求的表头