内容导学
Requests库
Requests库入门
https://www.python-requests.org
Requests的安装方法
命令行输入
pip install requests
python IDLE中输入以下命令
>>> import requests
>>> r = requests.get("http://www.baidu.com")
>>> r.status_code
200
>>> r.encoding = 'utf-8'
>>> r.text
'\r\n 百度一下,你就知道 \r\n'
Requests库的get()方法
requests.get(url,params = None,**kwargs)
url:拟获取页面的url链接
params:url中的额外参数,字典或字节流格式,可选
**kwargs:12个控制访问的参数
>>> import requests
>>> r = requests.get("http://www.baidu.com")
>>> r.status_code
200
>>> r.encoding = 'utf-8'
>>> r.text
'\r\n 百度一下,你就知道 \r\n'
>>> type(r)
<class 'requests.models.Response'>
>>> r.headers
{'Cache-Control': 'private, no-cache, no-store, proxy-revalidate, no-transform', 'Connection': 'keep-alive', 'Content-Encoding': 'gzip', 'Content-Type': 'text/html', 'Date': 'Sun, 21 Aug 2022 12:52:26 GMT', 'Last-Modified': 'Mon, 23 Jan 2017 13:28:24 GMT', 'Pragma': 'no-cache', 'Server': 'bfe/1.0.8.18', 'Set-Cookie': 'BDORZ=27315; max-age=86400; domain=.baidu.com; path=/', 'Transfer-Encoding': 'chunked'}
>>> r.encoding
'utf-8'
>>> r.apparent_encoding
'utf-8'
>>> r.tetx
Traceback (most recent call last):
File "" , line 1, in <module>
r.tetx
AttributeError: 'Response' object has no attribute 'tetx'
>>> r.text
'\r\n 百度一下,你就知道 \r\n'
r = requests.get(url)
爬取网页的通用代码框架
网络连接有风险,异常处理很重要
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)
http协议及Requests库方法
Requests主要方法解析
单元小结