今天的目标是学习一些简单的爬取网页的代码
顺便记录下来
1.在IDE中简单爬取百度网页。
步骤:
1.import requests
调用requests库 。
2.r=requests.get("http://www.baidu.com")
用requests库中的get方法访问百度网页。
3.print(r.status_code)
打印出http请求的返回状态,若未返回200,则访问中出现错误。
4.type(r)
检测r的类型,图中返回表示r是Response类型。
5.r.headers
返回get请求获得的页面头部信息。
其他:
r.text
查看页面内容。(打印所有页面内容)。
r.encoding
从http的header中猜测的编码方式。(如果header中不存在chaeset,则认为编码为ISO-8859-1)
r.apparent_encoding
从内容中分析出的编码方式。
关键:
如果用r.apparent_encoding 代替r.encoding的编码,可以看到网页中的中文。
r.encoding = 'utf-8'
2.爬取网页的简单代码框架
先理解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 "产生异常"