1,urllib基础
(1)爬取一个链接下来文件可以打开:
首先创建一个文件夹:
大概是像这个样子
import urllib
import urllib.request #这两个import都是每次必要的,后面我就不重复码出来了
#第一个参数是网址,第二个参数是文件路径\你自己自定义的名字.html
urllib.request.urlretrieve("http://www.baidu.com",filename = "F:\爬虫文档\自定义名字.html") #将一个网页网址拉下来
爬下来就这样了:
点进去就是打开网页
(2)清理缓存:
urllib.request.urlcleanup()
(3)提取环境信息
file = urllib.request.urlopen("http://www.baidu.com")
mes = file.info()
print(mes)
提取出来以后是这样的
这些都是可以在网页查找源代码所看过的重要信息,我在接下来的其他博客可能会讲到。
(4)返回状态码
file = urllib.request.urlopen("http://www.baidu.com")
mes = file.getcode()
print(mes)
一般状态码为200表示正常响应,如果为403则错误响应,还有很多其他的,以后再补充…
(5)返回你爬去的网址名字
有时候会出现你不知道你爬了什么的情况,或着网址太多你忘了哪个变量对应哪个网址,可以用这个
☟
file = urllib.request.urlopen("http://www.baidu.com")
mes = file.geturl()
print(mes)
返回的将是一个网址的名字
(6)超时设置
由于网速或服务器问题,有时爬取时间会非常久,就可以设置一个超时设置,若超出你设定的时间,就做出对应的反应。
file = urllib.request.urlopen("http://www.baidu.com",timeout=0.001) #timeout就是你设置的时间限制
mes = file.geturl()
print(mes)
由于超过了0.001秒打开网址,编辑器会报错
我在之后会写个异常处理来解决这种情况