爬虫学习(1):urlopen库使用

2021-10-18 14:05:54 浏览数 (1)

以爬取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秒了,就自然报错了

最基本爬取网页,后续待更新

0 人点赞