安裝環境_路線2-1

實作路線紀錄:

   還記得2-1的目標是,從其他網站拿到資源後自己架設一個伺服器當後端。
所以必須要先搞定資料來源! 於是我決定用python來爬資料~

Python 3.4 + win8  底下
主要安裝了以下幾個模組:
  • 網頁應用程式的開發環境 Jupyter
  • 爬蟲需求 Requests+BeautifulSoup+lxml

Python 文件包管理參考: http://zengrong.net/post/2169.htm


  1. 安裝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)
 

* 也可以使用客製port(原阜號為: 8888)
>jupyter notebook --port 9999

*不開瀏覽器
--no-browser

再透過new即可在開始的路徑下產生notebook (untitled)

 
接著就可以在每個cell開始使用

  1. 安裝BeautifulSoup

>pip3 install BeautifulSoup4

Beautiful Soup 是一個可以從HTML或XML文件中提取資料的Python模組。它也能夠通過你喜歡的解析器去實行文件導航,查找,修改。

  1. 安裝wheel

>pip3 install wheel

wheel 本質上是一 zip 包格式,它使用 .whl 為檔案名稱,用於 python 模組的安裝,它的出現是為了替代Eggs。
wheel 還提供了bdist_wheel 做為 setuptools 的擴展命令,這個命令可以用来生成 wheel 包。
pip 提供了一个個wheel 子命令來安裝 wheel 包。

原文 < 本文一開始的"文件包管理參考"連結 >

*因為我原本沒有安裝wheel,所以在這邊安裝。目的是要用來安裝lxml。

  1. 安裝lxml

>pip3 install lxml -->error require Microsoft visual C++
這個錯誤發生似乎是很常見(?)編譯需求2010版MS C++ 

>pip3 install 檔名 --> error 版本不配對  (因為我硬要用python3.4)

 

最後只好安裝EXE
lxml-3.4.0.win-amd64-py3.4.exe
點點兩下結束(笑)

lxml是一個解析器,在稍早BeautifulSoup那裏有提到,會需要解析器來幫忙。

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


  1. 安裝Requests

>pip3 install requests

requests可以用來取代原本的urllib,發送HTTP要求。
Non-GMO HTTP library for Python
兩大特點:
  • 針對 GET 和 POST 方法的封装做的很好
  • 默認開啟 Cookies 處理



測試request可以使用:


    到這邊基本的環境已經準備好了!
    可以開始來試試看取得靜態html,並對它做解析,取得資料!

後記: 還是有很多其他組合也可做到相同的事情,因為我之前也用過全自帶模組

  • import urllib.request as urllib2
  • import urllib
  • import re

所以想說這次來用用看這個據說很厲害的組合!下次再來試試看scrapy 
上一篇前言動機    下一篇從requests開始

留言

熱門文章