我们前面提出了几个问题,现在就来一个一个的解决这些问题
1.BS4是什么?
官方文档上是这样写的:
是一个可以从HTML或XML文件中提取数据的Python库
所谓的提取数据就是在网页源码中获取你想要的信息,比如,网址,图片的链接,文字等等,这个功能跟我们之前使用的正则表达式一样,而且经过前面的学习我们也知道,使用正则表达式在网页源码中获取我们想要的数据并不是一件很困难的事情,只需要记住".*?"和"(.*?)",就行了,那为什么我们还要学习 BS4呢?
2. 为什么要学习BS4?
我觉得这是在我们学习之前最主要的问题,其他的BS4是什么,怎么安装,怎么使用这些都是次要的,这些内容上网随时可以找得到,我没有必要纠结这些,而且如果不知道为什么要学BS4,这些问题我可能连查都不会去查,我就直接使用RE,这跟我的性格有关,我必须要先知道为什么去做一件事情,找到一个能说服我的理由,然后才会认真的去做这件事情
但是事实上,这BS4还真是必须要学的一样东西,这个问题我会在下一个小节以一个例子来详细的说明,现在先来看看其他的问题
3. BS4怎么使用
前面也说了BS4是python的一个库,也就是,模块,我们前面的学习中也使用到了一些模块,像re,urllib,urllib2,cookielib,等等,所以既然BS4也是一个模块,那它的用法应该也跟前面一样,所以我们就来import看看吧
这里出现了一个错误,这是为什么呢?
原因很简单,前面我们使用到的库是python自带的库函数,所以我们不需要安装直接import就可以使用,但是BS4不一样,BS4不是python自带的库,它是一个第三方的库,在我们的系统中并没有这个库函数,所以我们直接import会提示没有这个模块----"no module name bs4",解决的方法也很简单,直接安装这个模块就行了
至于怎么安装,根据操作系统的不同安装的方法也有不同,这里简单的讲一下
我这里使用的是ubuntu系统,我的安装方法很简单
sudo apt-get install python-bs4
至于其他的操作系统包括其他的linux,或者windows,可以到 下载源码然后通过setup.py来安装
Python setup.py install
这些都是很简单的问题,实在不懂的话网上一大把,可以上网去找找看
4. 怎么学习BS4
这个问题也很重要,先要知道为什么要学,然后需要知道怎么学,这个怎么学的过程首先要认知自我,你觉得你能凭空学出来一个BS4吗?如果能凭空的话,那应该是你自己造出来的只属于你的BS4,所以我们需要一个教材,或者说一本参考书之类的,那我们以什么作为学习的标准呢?BS4的官方文档,在学习之前,我首先是看了官方文档,但是发现写得不是那么有趣,所以我就上网去找找看有没有什么好的资料,结果发现网上绝大部分的教程都是官方文档上的,甚至连例子都不修改一下,最后没办法只能乖乖的看官方文档来学习,哦,对了,官方文档的地址是这个
好了,这一小节我们总算把BS4的一些最最基本的问题讲完了,但是别忘了最重要的问题:
为什么要学习BS4