通过python来抓取和解析网页内容
最近这段时间回顾了下python,距离上次使用python已经超过两年的时间了。
相对于c++语言,python要灵活许多,对于工作中的一些小问题的解决可以通过python来实现比较高效和方便,比如网页的抓取和解析。甚至对于非IT的工作,也可以通过脚本的方式来解决,只要是工作中遇到反复处理的体力活劳动就可以考虑利用编程方式来解决。
本文以我的博客的文档列表页面为例,利用python对页面中的文章名进行提取。
文章列表页中的文章列表部分的url如下:
1 | <ul class="listing"> |
requests模块的安装
requests模块用于加载要请求的web页面。
在python的命令行中输入import requests
,报错说明requests模块没有安装。
我这里打算采用easy_install的在线安装方式安装,发现系统中并不存在easy_install命令,输入sudo apt-get install python-setuptools
来安装easy_install工具。
执行sudo easy_install requests
安装requests模块。
Beautiful Soup安装
为了能够对页面中的内容进行解析,本文使用Beautiful Soup。当然,本文的例子需求较简单,完全可以使用分析字符串的方式。
执行sudo easy_install beautifulsoup4
即可安装。
编码问题
python的编码问题确实是一个很头大的问题,尤其是对于不熟悉python的菜鸟。
python自身的编码问题就已经够头大的了,碰巧requests模块也有一个编码问题的bug,具体的bug见参考文章。
代码
1 | #!/usr/bin/env python |