这几天我初学Python的urllib库,学学Python网络爬虫知识,结果学起来比我想象的难得多,比学习界面都难。
在这里重点对前三个模块进行下讲解。
作者:NewForMe
链接:https://www.jianshu.com/p/63dad93d7000
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
urllib.request 模块提供了最基本的构造 HTTP 请求的方法,利用它可以模拟浏览器的一个请求发起过程,同时它还带有处理authenticaton(授权验证),redirections(重定向),cookies(浏览器Cookies)以及其它内容。
我们来感受一下它的强大之处,以 Python官网为例,我们来把这个网页抓下来:
import urllib.request
response = urllib.request.urlopen(‘https://www.python.org‘)
print(response.read().decode(‘utf-8‘))
运行结果
接下来我们看下它返回的到底是什么,利用 type() 方法输出 Response 的类型。
import urllib.request
response = urllib.request.urlopen(‘https://www.python.org‘)
print(type(response))
输出结果:
<class ‘http.client.HTTPResponse‘>
通过输出结果可以发现它是一个 HTTPResposne 类型的对象,它主要包含的方法有 read()、readinto()、getheader(name)、getheaders()、fileno() 等方法和 msg、version、status、reason、debuglevel、closed 等属性。
得到这个对象之后,我们把它赋值为 response 变量,然后就可以调用这些方法和属性,得到返回结果的一系列信息了。
例如调用 read() 方法可以得到返回的网页内容,调用 status 属性就可以得到返回结果的状态码,如 200 代表请求成功,404 代表网页未找到等。
原文:https://www.cnblogs.com/coding365/p/12944305.html