demo.py(retrying模块,多次重新尝试):
# coding=utf-8
import requests # 需要pip安装requests模块
from retrying import retry # 需要pip安装retrying模块
headers={"User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.84 Safari/537.36"}
# @retry 如果出现异常,会多次尝试。
@retry(stop_max_attempt_number=3) # 最多尝试3次
def _parse_url(url):
print("*"*20)
response = requests.get(url, headers=headers, timeout=3)
assert response.status_code == 200
return response.content.decode()
def parse_url(url):
try:
html_str = _parse_url(url)
except:
html_str = None
return html_str
if __name__ == '__main__':
url = "www.baidu.com" # http://www.baidu.com
print(parse_url(url))