安裝環境_路線2-1
實作路線紀錄:
還記得2-1的目標是,從其他網站拿到資源後自己架設一個伺服器當後端。
所以必須要先搞定資料來源! 於是我決定用python來爬資料~
還記得2-1的目標是,從其他網站拿到資源後自己架設一個伺服器當後端。
所以必須要先搞定資料來源! 於是我決定用python來爬資料~
Python 3.4 + win8 底下
主要安裝了以下幾個模組:
- 網頁應用程式的開發環境 Jupyter
- 爬蟲需求 Requests+BeautifulSoup+lxml
- 安裝IDE : jupyter
>pip3 install --upgrade pip
>pip3 install jupyter
Jupyter: 開源軟體,支援互動資料科學與科學運算的40種語言。
Jupyter Notebook: 一網頁應用程式,可以分享與創造包含live code(生碼)、
Equations(方程式)、 visualizations(視覺化) and explanatory text(註解)的文件。
內建包含: data cleaning and transformation, numerical simulation(數值模擬), statistical modeling(統計模型), machine learning and much more.
安裝完即可啟動jupyter server
在自己想要建立筆記的路徑下:
>jupyter notebook
進路的路徑點會成為跟目錄(HOME)
在自己想要建立筆記的路徑下:
>jupyter notebook
進路的路徑點會成為跟目錄(HOME)
* 也可以使用客製port(原阜號為: 8888)
>jupyter notebook --port 9999
*不開瀏覽器
--no-browser
再透過new即可在開始的路徑下產生notebook (untitled)
>jupyter notebook --port 9999
*不開瀏覽器
--no-browser
再透過new即可在開始的路徑下產生notebook (untitled)
接著就可以在每個cell開始使用
- 安裝BeautifulSoup
>pip3 install BeautifulSoup4
Beautiful Soup 是一個可以從HTML或XML文件中提取資料的Python模組。它也能夠通過你喜歡的解析器去實行文件導航,查找,修改。
原文 <http://beautifulsoup.readthedocs.io/zh_CN/v4.4.0/>
Html 解析器wiki <https://zh.wikipedia.org/wiki/HTML%E8%A7%A3%E6%9E%90%E5%99%A8%E5%AF%B9%E6%AF%94>
Html 解析器wiki <https://zh.wikipedia.org/wiki/HTML%E8%A7%A3%E6%9E%90%E5%99%A8%E5%AF%B9%E6%AF%94>
- 安裝wheel
>pip3 install wheel
wheel 本質上是一 zip 包格式,它使用 .whl 為檔案名稱,用於 python 模組的安裝,它的出現是為了替代Eggs。
wheel 還提供了bdist_wheel 做為 setuptools 的擴展命令,這個命令可以用来生成 wheel 包。
pip 提供了一个個wheel 子命令來安裝 wheel 包。
原文 < 本文一開始的"文件包管理參考"連結 >
原文 < 本文一開始的"文件包管理參考"連結 >
*因為我原本沒有安裝wheel,所以在這邊安裝。目的是要用來安裝lxml。
- 安裝lxml
>pip3 install lxml -->error require Microsoft visual C++
這個錯誤發生似乎是很常見(?)編譯需求2010版MS C++
這個錯誤發生似乎是很常見(?)編譯需求2010版MS C++
Download .whl http://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml
>pip3 install 檔名 --> error 版本不配對 (因為我硬要用python3.4)
最後只好安裝EXE檔
lxml-3.4.0.win-amd64-py3.4.exe
點點兩下結束(笑)
點點兩下結束(笑)
HTML解析器比較
解析器
|
使用方法
|
優勢
|
劣勢
|
Python標準庫
(內建)
|
BeautifulSoup(markup, "html.parser")
|
Python的内置标准库
执行速度适中
文档容错能力强
|
Python 2.7.3 or 3.2.2)前 的版本中文档容错能力差
|
lxml HTML 解析器
|
BeautifulSoup(markup, "lxml")
|
速度快
文档容错能力强
|
需要安装C语言库
|
lxml XML 解析器
|
BeautifulSoup(markup, ["lxml-xml"])
BeautifulSoup(markup, "xml")
|
速度快
唯一支持XML的解析器
|
需要安装C语言库
|
html5lib
|
BeautifulSoup(markup, "html5lib")
|
最好的容错性
以浏览器的方式解析文档
生成HTML5格式的文档
|
速度慢
不依赖外部扩展
|
原文 <http://beautifulsoup.readthedocs.io/zh_CN/v4.4.0/>
我是因為看了這個比較表決定使用lxml
Xpath & lxml 參考: http://cuiqingcai.com/2621.html
我是因為看了這個比較表決定使用lxml
Xpath & lxml 參考: http://cuiqingcai.com/2621.html
- 安裝Requests
>pip3 install requests
Non-GMO HTTP library for Python
兩大特點:
- 針對 GET 和 POST 方法的封装做的很好
- 默認開啟 Cookies 處理
測試request可以使用:
Postman : https://www.getpostman.com/docs/requests
到這邊基本的環境已經準備好了!
可以開始來試試看取得靜態html,並對它做解析,取得資料!
後記: 還是有很多其他組合也可做到相同的事情,因為我之前也用過全自帶模組
- import urllib.request as urllib2
- import urllib
- import re
所以想說這次來用用看這個據說很厲害的組合!下次再來試試看scrapy
上一篇前言動機 下一篇從requests開始。
留言
張貼留言