Python-- lxml安裝
無論是使用爬蟲框架scrapy,還是簡單的requests請求後解析。都不可避免的需要使用html解析庫。當然正則是可以代替一部分搜尋。由於正則語法的晦澀,及其其他場景下,html解析是必不可少的。網上推薦 lxml的比較多,優點:穩定,高效。
但是lxml的安裝很難一次成功。
直接成功就不要接著看了。
pip install lxml
在windows系統中安裝時,可能會出現如下錯誤:
提示如下:
error: Microsoft Visual C++ 9.0 is required (Unable to find vcvarsall.bat). Get it from http://aka.ms/vcpython27
需要安裝Microsoft Visual C++ 9.0,對應的是visual studio 2008版本。其實我們可以用一種更簡單的方式來解決這個問題。
(1)首先升級下pip:
python -m pip install -U pip
(2)安裝wheel
pip install wheel
(3)下載lxml對應python版本的wheel檔案:下載地址(現在好像不能用了,可以根據你相應的Python去網上下載一個,這裡我只有一個py37的,連結https://pan.baidu.com/s/1uGvrI12phytodE3diadxzg密碼kd2h)
其中cp27表示版本就是Python2.7,最後執行安裝:
- 下載相應版本的
lxml-xx-xx-xx .whl
檔案,比如我的是lxml‑3.7.3‑cp37‑cp37m‑win_amd64.whl
- 進到whl檔案的目錄下,進入命令視窗,輸入相應*.whl檔名,我的輸入如下:
pip install lxml‑3.7.3‑cp37‑cp37m‑win_amd64.whl
如果沒有錯誤提示就代表安裝成功。
下面是一些不知道的問題,可以不用看。
通常提示缺少libxml2,這是系統自帶的版本太低。需要升級libxml2
ubuntu 下
apt-get install libxml2-dev libxslt-dev python-dev
centos 下
yum install libxml2-dev libxslt-dev python-dev
如果這樣還不行,可以下載原始碼,本地編譯。
如果遇到這樣的問題
error: command 'gcc' failed with exit status 1
可能是因為環境:搬瓦工的256M記憶體,因為記憶體不夠,每次便宜呼叫gcc 就被系統幹掉,而且版瓦工採用的OpenVZ架構,除非重新換機房,否則不能新增臨時swap.
方法一:找一個環境相同的系統,將lxml編譯成一個wheel,拷貝過去安裝。
這個法不行,手頭沒有這樣的環境。
方法二:直接粗暴的吧本地的lxml這個在site-packet資料夾下的包copy過去了。