概要:
在以后每节的讲解中,我都会首先讲述4个问题,即what/why/when/how
针对requests库
what-这个库是什么:requests库是用于网页内容获取的一个工具,它的存在就是从网络中获取指定的网页内容
why-为什么用这个库:其实除了requests库,还有urllib库也具备同样功能,且为python自带库,从目前来说,requests库更加简洁,高效,说白了在程序架构中更好理解,所以选择它;
when-什么情况下用:自然是在爬虫中,它就是为爬虫而生,从根本来说,它就是当你想获取网络中某一个内容时,就用它;
how-怎么用:下面介绍
一、requests库介绍
(requests库详细用法可参考官方文档http://docs.python-requests.org/zh_CN/latest/)
送上链接:点击打开链接
requests库需要安装,安装直接在命令行窗口下pip install requests
其使用方法比较简单,其共包括7个方法,其与HTTP协议中的方法一致
二、用requests库获取网页的通用框架
获取网页基本只用requests库的一个方法即可,即requests.get()
import requests
#定义一个爬取网页的通用函数getHTMLText
def getHTMLText(url):
#用try函数来处理异常
try:
r=requests.get(url,timeout=30)
r.raise_for_status()
#对网页进行解码,用此种方法耗时太久,有更快的
r.encoding=r.apparent_encoding
return r.text
except:
return"产生异常"
#定义主函数
def main():
url=input("请输入要爬取的网页地址:")
#方式1:将爬取的内容打印出来
print(getHTMLText(url))
#方式2:将爬取的内容保存到一个文件html.txt中
with open('D://html.txt','w') as f:
f.write(getHTMLText(url))
main()
三、最后运行结果