摘要:一基礎(chǔ)環(huán)境由于不是職業(yè)的開發(fā)者,因此環(huán)境是基于的。二安裝打開命令行工具創(chuàng)建虛擬環(huán)境,默認情況下會創(chuàng)建目錄,所有的虛擬環(huán)境都會產(chǎn)生一個子目錄保存在此,里面包含基本程序文件以及庫文件。
目錄
基于 Python 的 Scrapy 爬蟲入門:環(huán)境搭建
基于 Python 的 Scrapy 爬蟲入門:頁面提取
基于 Python 的 Scrapy 爬蟲入門:圖片處理
作為一個全棧工程師(:-) HoHo),前端后臺都懂點是必須的,但是Python 很菜,Scrapy 更菜,沒錯,這就是 Full Stack Developer 的特點,什么都懂點,什么都不精,我們的特點就是上手快,忘得也很快,不過配合強大的搜索引擎,寫些小東西出來是不成問題的!
言歸正傳,最近想用爬蟲抓取一些內(nèi)容來充實自己的博客,以前用過 phpspider,基本能滿足要求,但是不夠強大,所以選用 Scrapy,順便回憶一下快忘光的 Python,誰讓它這么火呢。
一、基礎(chǔ)環(huán)境由于不是職業(yè)的Web開發(fā)者,因此環(huán)境是基于Windows的。
1. Python 安裝到 python.org 下載最新版 Python 安裝包,我使用的是3.6.3 32位版本,注意如果安裝了64位版本,以后所使用的包也都需要64位(很大一部分包無32/64位區(qū)分,可以通用)。安裝程序默認安裝pip包管理工具,并設(shè)置了相關(guān)環(huán)境變量:添加 %Python% 及 %Python%Scripts 到 PATH 中(%Python%是你的安裝目錄),你運行的 Python 程序或腳本都在 Scripts 中,包都安裝在 Libsite-packages 中。
2. 配置 pip 國內(nèi)鏡像源Python之所以強大正是因為各種功能齊全的開發(fā)包,由于眾所周知的原因 pip下載模塊速度很慢,因此為了保證pip下載順利,建議替換成國內(nèi)的安裝源鏡像:
創(chuàng)建文件 %HOMEPATH%pippip.ini,內(nèi)容如下:
[global] trusted-host=mirrors.aliyun.com index-url=http://mirrors.aliyun.com/pypi/simple/
上面這個是清華大學(xué)的鏡像,另外附上其他幾個好用的,據(jù)說每30分鐘同步官網(wǎng)
阿里云:http://mirrors.aliyun.com/pypi/simple/ 豆瓣網(wǎng):http://pypi.doubanio.com/simple/ 科技大學(xué):http://mirrors.ustc.edu.cn/pypi/web/simple/ 清華大學(xué):https://pypi.tuna.tsinghua.edu.cn/simple/
如果不嫌麻煩的話也可以每次安裝時指定:
pip -i http://pypi.douban.com/simple install Flask3. 換一個趁手的命令行
由于Python中經(jīng)常要用到命令行工具,但Windows自帶的cmd或PowerShell逼格太低,換個字體還得折騰大半天,因此有必要換一個好用的,推薦cmder mini版:https://github.com/cmderdev/c...,Python輸出的調(diào)試信息可以根據(jù)顏色區(qū)分,不用像cmd那樣找半天了。
基本上Python每個項目都會用到大量的模塊,比如本文中的Scrapy爬蟲,pip install scrapy后除了Scrapy本身外,還會下載數(shù)十個依賴包,如果經(jīng)常用Python做各種開發(fā),site-packages會越來越龐大,可能有些包只在一個項目中用到,或者刪除包后依賴包并沒有被刪除,總之不太好管理,作為強迫癥患者是決不能忍受的。
好在有一個工具 virtualenv 可以方便管理 Python 的環(huán)境,它可以創(chuàng)建一個隔離的Python虛擬開發(fā)環(huán)境,使用它你可以同時安裝多個Python版本,方便同時多個項目的開發(fā),每個項目之間的包安裝與使用都是獨立的,互不干擾,通過命令可以隨時切換各個虛擬環(huán)境,如果不再使用,把整個虛擬環(huán)境刪除即可同時刪除其中所有的模塊包,保持全局環(huán)境的干凈。
為了便于使用,我選擇安裝virtualenvwrapper-win模塊,它依賴于virtualenv,包含Windows下面易于使用的批處理腳本,其實只是調(diào)用了 virtualenv 功能而已:
pip install virtualenvwrapper-win
virtualenvwrapper 常用命令:
workon: 列出虛擬環(huán)境列表
lsvirtualenv: 同上
mkvirtualenv: 新建虛擬環(huán)境
workon [虛擬環(huán)境名稱]: 切換虛擬環(huán)境
rmvirtualenv: 刪除虛擬環(huán)境
deactivate: 離開虛擬環(huán)境
wheel 是python中的解包和打包工具,因此有必要安裝到全局環(huán)境中,有些模塊使用pip安裝總是失敗,可以嘗試先下載whl文件,再使用wheel本地安裝的方式安裝。
pip install wheel
既然在Windows下開發(fā),win32api也是必不可少的包,因此也裝到全局環(huán)境中,下次新建虛擬項目環(huán)境用到時就不必每次再下載一次了。
當(dāng)然,以上2,3,4其實都不是必須的,但是建好基本環(huán)境有利于以后的開發(fā)少兜圈子。
二、Scrapy 安裝打開cmder命令行工具
創(chuàng)建Scrapy虛擬環(huán)境: mkvirtualenv Scrapy,默認情況下會創(chuàng)建%HOMEPATH%Envs目錄,所有的虛擬環(huán)境都會產(chǎn)生一個子目錄保存在此,里面包含Python基本程序文件以及pip,wheel,setuptools庫文件。如果想修改Envs默認路徑,在Windows中可添加一個 %WORKON_HOME% 環(huán)境變量指定新的目錄。
切換到Scrapy環(huán)境:workon scrapy ,執(zhí)行后在命令行提示符前面會多出 (Scrapy) 字符,表示當(dāng)前處于Scrapy虛擬環(huán)境中,同時添加了當(dāng)前環(huán)境中的相關(guān)路徑在系統(tǒng) %PATH% 搜索路徑中。
安裝Scrapy包:pip install scrapy,自己好幾次都遇到Twisted模塊安裝失敗的問題,貌似是編譯失敗,缺少Microsoft Visual C++ 14.0導(dǎo)致:
我沒有按要求安裝Microsoft Visual C++ 14.0編譯工具進行編譯安裝,而是下載已打包的whl文件進行本地安裝,此時wheel便派上了用場,到 https://www.lfd.uci.edu/~gohl... 下載twisted的whl文件(注意對應(yīng)Python版本)
再使用 pip install Twisted?17.9.0?cp36?cp36m?win32.whl 來進行安裝,本地安裝twisted成功,由于之前被錯誤中斷,建議再執(zhí)行一次 pip install scrapy 防止有依賴包沒有安裝到。
注意:Windows平臺需要額外安裝 pypiwin32 模塊,否則在Scrapy執(zhí)行爬蟲時會報錯:
ModuleNotFoundError: No module named "win32api"
至此 Scrapy 環(huán)境搭建完成,所有的模塊存放在 %HOMEPATH%EnvsScrapy 中,如果不再使用,只需要命令行執(zhí)行 rmvirtualenv scrapy,整個目錄都會被刪除,所有依賴模塊都會被清理干凈。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/44465.html
摘要:目錄基于的爬蟲入門環(huán)境搭建基于的爬蟲入門頁面提取基于的爬蟲入門圖片處理下面創(chuàng)建一個爬蟲項目,以圖蟲網(wǎng)為例抓取圖片。 目錄 基于 Python 的 Scrapy 爬蟲入門:環(huán)境搭建 基于 Python 的 Scrapy 爬蟲入門:頁面提取 基于 Python 的 Scrapy 爬蟲入門:圖片處理 下面創(chuàng)建一個爬蟲項目,以圖蟲網(wǎng)為例抓取圖片。 一、內(nèi)容分析 打開 圖蟲網(wǎng),頂部菜單發(fā)現(xiàn)...
目錄 基于 Python 的 Scrapy 爬蟲入門:環(huán)境搭建 基于 Python 的 Scrapy 爬蟲入門:頁面提取 基于 Python 的 Scrapy 爬蟲入門:圖片處理 上篇文章中講解了如何從網(wǎng)站頁面抓取所需要的數(shù)據(jù),很幸運范例中所需的數(shù)據(jù)是通過 Ajax 請求返回的 JSON 結(jié)構(gòu)化數(shù)據(jù),處理起來很簡單,圖片內(nèi)容也只取了一個鏈接,對于我最初的目標(biāo)把這些圖集添加到自己的博客站點中這...
摘要:時間永遠都過得那么快,一晃從年注冊,到現(xiàn)在已經(jīng)過去了年那些被我藏在收藏夾吃灰的文章,已經(jīng)太多了,是時候把他們整理一下了。那是因為收藏夾太亂,橡皮擦給設(shè)置私密了,不收拾不好看呀。 ...
摘要:從剛開始接觸到使用進行爬蟲,經(jīng)歷了許多,不懂的各種百度,硬是從不會進步成入門了,抱怨的話不多說,進入正題。 從剛開始接觸Python2.7到使用Scrapy1.3進行爬蟲,經(jīng)歷了許多,不懂的各種百度,硬是從不會進步成入門了,抱怨的話不多說,進入正題。 寫這篇文章的目的在于總結(jié)這段時間學(xué)習(xí)Scrapy的到的一些經(jīng)驗 環(huán)境搭建 showImg(https://segmentfault.co...
閱讀 2169·2021-11-23 09:51
閱讀 3730·2021-10-20 13:49
閱讀 1735·2021-09-06 15:13
閱讀 1855·2021-09-06 15:02
閱讀 3249·2021-09-02 15:11
閱讀 918·2019-08-29 15:37
閱讀 1769·2019-08-29 13:24
閱讀 2302·2019-08-29 11:28