Request库
import requests
r = requests.get("http://www.baidu.com")//直接抓取 百度的所有信息
print(r.status_code)//返回code 为200 则成功
print(t.text)//发现是乱码
print(r.encoding)//查看一下编码方式
print(r.apparent_encoding)
r.encoding = 'utf-8'
print(t.text)//解析成功
/*encoding是简单的从header 中charset猜测编码,如果header中不存在charset 则认为编码为ISO-8859-1而这种编码方式不能解析中文
apparent_encoding则是从网页内容中分析出的编码方式(是备选编码方式
所以encoding不能正确解析的时候应该使用apparent_encoding
*/
//requests返回的为Response对象常用的属性为下
6. //requests返回的为Response对象常用的属性为下
爬取网页的通用代码框架
——常用request异常
import requests
//封装一个函数
def getHTMLText(url):
try:
r= requests.get(url,timeout=30)
r.raise_for_status()#若状态不是200,引发HTTPError异常
r.encoding = r.apparent_encoding#保证解码正常
return r.text
except:
return "产生异常"
//
if __name__=="__main__":
url="http://www.baidu.com"
print(getHTMLText(url))