request库的基本使用方法,不多bb,上代码,需要注意的地方都在注释里了
import requests
from bs4 import BeautifulSoup
def get_html_text(url):
try:
r=requests.get(url,timeout=50)#返回的r是Response类的对象,超过50s时抛出Timeout异常
r.raise_for_status()#自动检查status_code是不是200,不是就抛出HTTPError异常
#print(r.status_code)#status_code状态码是200才是返回成功,不是200就是失败
#print(r.encoding)#看看编码方式
#print(r.apparent_encoding)#备用编码
r.encoding=r.apparent_encoding#使用当前encoding的值不能正确解码时,则用apparent_encoding的值替换encoding
#print(r.text)
#print(r.headers)
return r.text
except requests.HTTPError as http_error:
return "HTTPError"
except requests.Timeout:
return "Timeout"
'''
Response对象包含了返回的网页的所有内容
Request对象是Response对象的一个属性
Response类属性:
r.status_code==200,访问成功
r.text,返回页面的字符串形式
r.encoding页面编码方式,若header中