爬虫工具包2018-12-02
jupyter简介
Jupyter Notebook(此前被称为 IPython notebook)是一个交互式笔记本,支持运行 40 多种编程语言。
Jupyter Notebook 的本质是一个 Web 应用程序,便于创建和共享文学化程序文档,支持实时代码,
数学方程,可视化和markdown。 用途包括:数据清理和转换,数值模拟,统计建模,机器学习等等 。
用这个来写代码会比Python自带的IDLE或者命令行要好很多,不仅有代码着色、代码智能提示,还可以点击Run立即得出结果。
我们仅仅是把它作为我们的代码编辑器,另外的强大功能,如果有精力可以自己去jupyter的官方文档探索。下面是jupyter的截图。
requests简介
requests是个非常优秀,非常棒的库。使用它我们可以减少非常大的工作量,专注于对请求的创建和处理,而不需要去处理中间过程,诸如302跳转、cookie的发送与接收、表单的编码。
简单来说,我们就是使用它进行网络请求,获取到网页的内容。如果要自己全程实现一个请求的流程,代码会非常多。但是有了requests,一切都是那么easy、放弃urllib吧!
xml简介
lxml is the most feature-rich and easy-to-use library for processing XML and HTML in the Python language.
lxml可以用来解析XML文件或者HTML文件,能够一个一个节点地解析,并且经过测试,lxml是Python所有解析HTML结构的包里面,解析速度最快的。lxml可以使用css选择器进行选择网页的节点,但是css选择器对新手不是很友好,所以我们采用了一个折中的办法,用beautifulsoup。
BeautifulSoup 简介
Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式.Beautiful Soup会帮你节省数小时甚至数天的工作时间.
BeautifulSoup是一个非常友好的HTML解析选择器,他可以选择几个不同的解析器:
html.parser(Python原生自带,速度慢,容错能力差)
html5lib(Python自带,速度慢)
lxml(需要安装,Python最快,还可以解析xml文件)
有了BeautifulSoup,我们对网页的解析会方便很多。