以爬取CSDN为例子: 第一步:导入请求库 第二步:打开请求网址 第三步:打印源码
代码语言:javascript复制import urllib.request
response=urllib.request.urlopen("https://www.csdn.net/?spm=1011.2124.3001.5359")
print(response.read().decode('utf-8'))
结果大概就是这个样子:
好的,继续,看看打印的是什么类型的:
代码语言:javascript复制import urllib.request
response=urllib.request.urlopen("https://www.csdn.net/?spm=1011.2124.3001.5359")
# print(response.read().decode('utf-8'))
print(type(response))
结果:
知道这个类型就行了,不废话的去解读
ok,再看看别的,比如(解释都在注释了)
代码语言:javascript复制import urllib.request
response=urllib.request.urlopen("https://www.csdn.net/?spm=1011.2124.3001.5359")
# print(response.read().decode('utf-8'))
print(type(response))#打印网页类型
print(response.status)#打印返回结果的状态
print(response.getheaders())#打印响应头信息
返回状态是200嘛就代表请求成功了
再来看看timeout使用:设置请求时间最长可以是多久,超过就不请求了
代码语言:javascript复制import urllib.request
response=urllib.request.urlopen("https://www.csdn.net/?spm=1011.2124.3001.5359",timeout=0.1)
# print(response.read().decode('utf-8'))
# print(type(response))#打印网页类型
# print(response.status)#打印返回结果的状态
# print(response.getheaders())#打印响应头信息
print(response.read())
为了显示出报错,我就设置了时间为0.1秒,timeout就直接放在打开网页旁边就好了:报错The read operation timed out就是请求超时,0.1秒嘛,肯定超过0.1秒了,就自然报错了
最基本爬取网页,后续待更新