導航:首頁 > 操作系統 > scrapylinux

scrapylinux

發布時間:2022-08-28 05:44:53

① 如何在雲伺服器上部署持久運行scrapy

作為linux伺服器管理員,經常要使用ssh登陸到遠程linux機器上做一些耗時的操作。
也許你遇到過使用telnet或SSH遠程登錄linux,運行一些程序。如果這些程序需要運行很長時間(幾個小時),而程序運行過程中出現網路故障,或者客戶機故障,這時候客戶機與遠程伺服器的鏈接將終端,並且遠程伺服器沒有正常結束的命令將被迫終止。
又比如你SSH到主機上後,開始批量的scp命令,如果這個ssh線程斷線了,scp進程就中斷了。在遠程伺服器上正在運行某些耗時的作業,但是工作還沒做完快要下班了,退出的話就會中斷操作了,如何才好呢?
我們利用screen命令可以很好的解決這個問題。實現在斷開SSH的情況下,在伺服器上繼續執行程序。
那什麼是screen命令?
Screen被稱之為一個全屏窗口管理器,用他可以輕松在一個物理終端上獲得多個虛擬終端的效果。
Screen功能說明:
簡單來說,Screen是一個可以在多個進程之間多路復用一個物理終端的窗口管理器,這意味著你能夠使用一個單一的終端窗口運行多終端的應用。Screen中有會話的概念,用戶可以在一個screen會話中創建多個screen窗口,在每一個screen窗口中就像操作一個真實的telnet/SSH連接窗口那樣。
Screen命令語法:
screen [-AmRvx -ls -wipe][-d <作業名稱>][-h <行數>][-r <作業名稱>][-s ][-S <作業名稱>]
Screen命令參數:
-A -[rR] 將所有的視窗都調整為目前終端機的大小。
-c filename 用指定的filename文件替代screen的配置文件』.screenrc』.
-d [pid.tty.host] 斷開screen進程(使用該命令時,screen的狀態一定要是Attached,也就是說有用戶連在screen里)。一般進程的名字是以pid.tty.host這種形式表示(用screen -list命令可以看出狀態)。
-D [pid.tty.host] 與-d命令實現一樣的功能,區別就是如果執行成功,會踢掉原來在screen里的用戶並讓他logout。
-h <行數> 指定視窗的緩沖區行數。
-ls或–list 顯示目前所有的screen作業。
-m 即使目前已在作業中的screen作業,仍強制建立新的screen作業。
-p number or name 預先選擇一個窗口。
-r [pid.tty.host] 恢復離線的screen進程,如果有多個斷開的進程,需要指定[pid.tty.host]
-R 先試圖恢復離線的作業。若找不到離線的作業,即建立新的screen作業。
-s shell 指定建立新視窗時,所要執行的shell。
-S <作業名稱> 指定screen作業的名稱。(用來替代[pid.tty.host]的命名方式,可以簡化操作).
-v 顯示版本信息。
-wipe 檢查目前所有的screen作業,並刪除已經無法使用的screen作業。
-x 恢復之前離線的screen作業。
Screen命令的常規用法:
screen -d -r:連接一個screen進程,如果該進程是attached,就先踢掉遠端用戶再連接。
screen -D -r:連接一個screen進程,如果該進程是attached,就先踢掉遠端用戶並讓他logout再連接
screen -ls或者-list:顯示存在的screen進程,常用命令
screen -m:如果在一個Screen進程里,用快捷鍵crtl+a c或者直接打screen可以創建一個新窗口,screen -m可以新建一個screen進程。
screen -dm:新建一個screen,並默認是detached模式,也就是建好之後不會連上去。
screen -p number or name:預先選擇一個窗口。
Screen實現後台運行程序的簡單步驟:
1> 要進行某項操作時,先使用命令創建一個Screen:
代碼如下:
[linux@user~]$ screen -S test1
2>接著就可以在裡面進行操作了,如果你的任務還沒完成就要走開的話,使用命令保留Screen:
代碼如下:
[linux@user~]$ Ctrl+a+d #按Ctrl+a,然後再按d即可保留Screen
[detached] #這時會顯示出這個提示,說明已經保留好Screen了
如果你工作完成的話,就直接輸入:
代碼如下:
[linux@user~]$ exit #這樣就表示成功退出了
[screen is terminating]
3> 如果你上一次保留了Screen,可以使用命令查看:
代碼如下:
[linux@user~]$ screen -ls
There is a screen on:
9649.test1 (Detached)
恢復Screen,使用命令:
代碼如下:
[linux@user~]$ screen -r test1 (or 9649)
Screen命令中用到的快捷鍵
Ctrl+a c :創建窗口
Ctrl+a w :窗口列表
Ctrl+a n :下一個窗口
Ctrl+a p :上一個窗口
Ctrl+a 0-9 :在第0個窗口和第9個窗口之間切換
Ctrl+a K(大寫) :關閉當前窗口,並且切換到下一個窗口(當退出最後一個窗口時,該終端自動終止,並且退回到原始shell狀態)
exit :關閉當前窗口,並且切換到下一個窗口(當退出最後一個窗口時,該終端自動終止,並且退回到原始shell狀態)
Ctrl+a d :退出當前終端,返回載入screen前的shell命令狀態
多窗口
screen,像許多的窗口管理器一樣,能支持多窗口。這個功能在處理多個任務且同時沒有打開新的會話時 很有用。作為一個系統管理員,我常常要同時開四五個SSH會話。在每個shell下,我可能要處理兩三個任務。不使用screen的話,需要15個SSH 會話,15次登錄,15個窗口等等。使用screen,每個系統都分配到一個單獨的會話中,我通過screen來管理系統上不同的作業。
要打開新的窗口,只需要使用「Ctrl-A」「c」。創建的新的窗口會顯示一個默認的命令提示符。例如,我可以運行top命令後再打開一個新的窗口來做其它的工作。Top繼續留在那運行!可以親身實驗一下,啟動screen並運行top。(註:為了節省空間我截斷了多個屏幕。)
啟動top
代碼如下:
Mem: 506028K av, 500596K used, 5432K free,
0K shrd, 11752K buff
Swap: 1020116K av, 53320K used, 966796K free
393660K cached
< p> PID USER PRI NI SIZE RSS SHARE STAT %CPU %ME

6538 root 25 0 1892 1892 596 R 49.1 0.3
6614 root 16 0 1544 1544 668 S 28.3 0.3
7198 admin 15 0 1108 1104 828 R 5.6 0.2
現在可以通過「Ctrl-A」「c」來打開一個新窗口
代碼如下:
[admin@ensim admin]$
To get back to top, use "Ctrl-A "n"
Mem: 506028K av, 500588K used, 5440K free,
0K shrd, 11960K buff
Swap: 1020116K av, 53320K used, 966796K free
392220K cached
< p> PID USER PRI NI SIZE RSS SHARE STAT %CPU %ME

6538 root 25 0 1892 1892 596 R 48.3 0.3
6614 root 15 0 1544 1544 668 S 30.7 0.3
你可以創建多個窗口然後通過「Ctrl-A」「n」切換到下一個窗口,或者使用「Ctrl-A」「p」返回上一個窗口。當你在其它窗口工作時,其它窗口的每個程序都會保持運行。
退出screen
有兩種方式退出screen。第一種和登出一個shell一樣,你可以通過「Ctrl-A」「K」或者「exit」來終止一個窗口。這樣當前的窗口會被關閉,如果你打開了多個窗口,你就會直接轉到其餘中的一個,而如果是僅有的一個窗口時,你就退出了screen。
另外一種退出screen的方式是分離窗口。這種方式只是簡單地關閉了窗口但進程仍運行著。如果你有確定要長時間執行的進程,還需要關閉SSH程序時,你便可以使用「Ctrl-A」「d」分離窗口。這會使你回到shell中。所有的screen窗口都待在那裡,你可以稍後重新接管它們。(譯者註:這很像我們實際中的最小化窗口和程序後台運行)
接管會話
假設你正用著screen花了很長時間編譯著一個程序,突然間你的連接斷開了。請不用擔心,screen會保存你的編譯進度。重新登錄你的操作系統後使用screen列表工具查看有哪些會話正在運行:
代碼如下:
[root@gigan root]# screen -ls
There are screens on:
31619.ttyp2.gigan (Detached)
4731.ttyp2.gigan (Detached)
2 Sockets in /tmp/screens/S-root.
在這里,我有兩個不同的screen會話。要需要重新接管其中一個,使用恢復窗口的命令:
代碼如下:
[root@gigan root]#screen -r 31619.ttyp2.gigan
只需要使用 -r 選項再接會話的名,現在你便可以重新回到剛才的屏幕。令人欣喜的是,你還可以在任何地方重新接管。不論在辦公室還是其它客戶端上,你都可以使用screen來啟動一項工作然後退出。
多窗口
screen,像許多的窗口管理器一樣,能支持多窗口。這個功能在處理多個任務且同時沒有打開新的會話時 很有用。作為一個系統管理員,我常常要同時開四五個SSH會話。在每個shell下,我可能要處理兩三個任務。不使用screen的話,需要15個SSH 會話,15次登錄,15個窗口等等。使用screen,每個系統都分配到一個單獨的會話中,我通過screen來管理系統上不同的作業。
要打開新的窗口,只需要使用「Ctrl-A」「c」。創建的新的窗口會顯示一個默認的命令提示符。例如,我可以運行top命令後再打開一個新的窗口來做其它的工作。Top繼續留在那運行!可以親身實驗一下,啟動screen並運行top。(註:為了節省空間我截斷了多個屏幕。)
啟動top
代碼如下:
Mem: 506028K av, 500596K used, 5432K free,
0K shrd, 11752K buff
Swap: 1020116K av, 53320K used, 966796K free
393660K cached
< p> PID USER PRI NI SIZE RSS SHARE STAT %CPU %ME

6538 root 25 0 1892 1892 596 R 49.1 0.3
6614 root 16 0 1544 1544 668 S 28.3 0.3
7198 admin 15 0 1108 1104 828 R 5.6 0.2
現在可以通過「Ctrl-A」「c」來打開一個新窗口
代碼如下:
[admin@ensim admin]$
To get back to top, use "Ctrl-A "n"
Mem: 506028K av, 500588K used, 5440K free,
0K shrd, 11960K buff
Swap: 1020116K av, 53320K used, 966796K free
392220K cached
< p> PID USER PRI NI SIZE RSS SHARE STAT %CPU %ME

6538 root 25 0 1892 1892 596 R 48.3 0.3
6614 root 15 0 1544 1544 668 S 30.7 0.3
你可以創建多個窗口然後通過「Ctrl-A」「n」切換到下一個窗口,或者使用「Ctrl-A」「p」返回上一個窗口。當你在其它窗口工作時,其它窗口的每個程序都會保持運行。
退出screen
有兩種方式退出screen。第一種和登出一個shell一樣,你可以通過「Ctrl-A」「K」或者「exit」來終止一個窗口。這樣當前的窗口會被關閉,如果你打開了多個窗口,你就會直接轉到其餘中的一個,而如果是僅有的一個窗口時,你就退出了screen。
另外一種退出screen的方式是分離窗口。這種方式只是簡單地關閉了窗口但進程仍運行著。如果你有確定要長時間執行的進程,還需要關閉SSH程序時,你便可以使用「Ctrl-A」「d」分離窗口。這會使你回到shell中。所有的screen窗口都待在那裡,你可以稍後重新接管它們。(譯者註:這很像我們實際中的最小化窗口和程序後台運行)
接管會話
假設你正用著screen花了很長時間編譯著一個程序,突然間你的連接斷開了。請不用擔心,screen會保存你的編譯進度。重新登錄你的操作系統後使用screen列表工具查看有哪些會話正在運行:
代碼如下:
[root@gigan root]# screen -ls
There are screens on:
31619.ttyp2.gigan (Detached)
4731.ttyp2.gigan (Detached)
2 Sockets in /tmp/screens/S-root.
在這里,我有兩個不同的screen會話。要需要重新接管其中一個,使用恢復窗口的命令:
代碼如下:
[root@gigan root]#screen -r 31619.ttyp2.gigan
只需要使用 -r 選項再接會話的名,現在你便可以重新回到剛才的屏幕。令人欣喜的是,你還可以在任何地方重新接管。不論在辦公室還是其它客戶端上,你都可以使用screen來啟動一項工作然後退出。

② linux 怎麼刪除scrapy

一.安裝scrapy
pip install Scrapy 由於scrapy相關依賴較多,因此在安裝過程中可能遇到如下問題:
1.ImportError: No mole named w3lib.http
解決:pip install w3lib
2.ImportError: No mole named twisted
解決:pip install twisted
3.ImportError: No mole named lxml.html
解決:pip install lxml
4.error: libxml/xmlversion.h: No such file or directory
解決:apt-get install libxml2-dev libxslt-dev
apt-get install python-lxml
5.ImportError: No mole named cssselect
解決:pip install cssselect
6.ImportError: No mole named OpenSSL
解決:pip install pyOpenSSL
以上基本涵蓋安裝過程中可能出現的依賴問題,如有遺漏待發現後補充

使用scrapy --version 如顯示出版本信息則安裝成功

③ 如何在ubuntu中安裝scrapy

Scrapy是Python開發的一個快速,高層次的屏幕抓取和web抓取框架,用於抓取web站點並從頁面中提取結構化的數據。Scrapy用途廣泛,可以用於數據挖掘、監測和自動化測試。 官網網站http://www.scrapy.org/
1、安裝如下軟體

sudo apt-get install build-essential;
sudo apt-get install python-dev;
sudo apt-get install libxml2-dev;
sudo apt-get install libxslt1-dev;
sudo apt-get install python-setuptools;
2、安裝Scrapy

sudo easy_install Scrapy;
wang@ubuntu:/usr/local/lib/python2.7/dist-packages$ sudo easy_install Scrapy
Searching for Scrapy
Best match: Scrapy 0.16.1
Processing Scrapy-0.16.1-py2.7.egg
Scrapy 0.16.1 is already the active version in easy-install.pth
Installing scrapy script to /usr/local/bin

Using /usr/local/lib/python2.7/dist-packages/Scrapy-0.16.1-py2.7.egg
Processing dependencies for Scrapy
Searching for lxml
Reading http://pypi.python.org/simple/lxml/
Reading http://codespeak.net/lxml
Best match: lxml 3.0.1
Downloading http://pypi.python.org/packages/source/l/lxml/lxml-3.0.1.tar.gz#md5=
Processing lxml-3.0.1.tar.gz
Running lxml-3.0.1/setup.py -q bdist_egg --dist-dir /tmp/easy_install-qibAzL/lxml-3.0.1/egg-dist-tmp-mSvUVN
Building lxml version 3.0.1.
Building without Cython.
Using build configuration of libxslt 1.1.26
Building against libxml2/libxslt in the following directory: /usr/lib/x86_64-linux-gnu
warning: no files found matching '*.txt' under directory 'src/lxml/tests'
src/lxml/lxml.etree.c: In function 『__pyx_f_4lxml_5etree__getFilenameForFile』:
src/lxml/lxml.etree.c:26310:7: warning: variable 『__pyx_clineno』 set but not used [-Wunused-but-set-variable]
src/lxml/lxml.etree.c:26309:15: warning: variable 『__pyx_filename』 set but not used [-Wunused-but-set-variable]
src/lxml/lxml.etree.c:26308:7: warning: variable 『__pyx_lineno』 set but not used [-Wunused-but-set-variable]
src/lxml/lxml.etree.c: In function 『__pyx_pf_4lxml_5etree_4XSLT_18__call__』:
src/lxml/lxml.etree.c:132608:81: warning: passing argument 1 of 『__pyx_f_4lxml_5etree_12_XSLTContext__』 from incompatible pointer type [enabled by default]
src/lxml/lxml.etree.c:130569:52: note: expected 『struct __pyx_obj_4lxml_5etree__XSLTContext *』 but argument is of type 『struct __pyx_obj_4lxml_5etree__BaseContext *』
src/lxml/lxml.etree.c: In function 『__pyx_f_4lxml_5etree__XSLT』:
src/lxml/lxml.etree.c:133997:79: warning: passing argument 1 of 『__pyx_f_4lxml_5etree_12_XSLTContext__』 from incompatible pointer type [enabled by default]
src/lxml/lxml.etree.c:130569:52: note: expected 『struct __pyx_obj_4lxml_5etree__XSLTContext *』 but argument is of type 『struct __pyx_obj_4lxml_5etree__BaseContext *』
src/lxml/lxml.etree.c: At top level:
src/lxml/lxml.etree.c:12128:13: warning: 『__pyx_f_4lxml_5etree_displayNode』 defined but not used [-Wunused-function]
src/lxml/lxml.etree.c: In function 『__pyx_f_4lxml_5etree_11_BaseParser__parseDocFromFile』:
src/lxml/lxml.etree.c:86715:3: warning: 『__pyx_r』 may be used uninitialized in this function [-Wuninitialized]
src/lxml/lxml.etree.c: In function 『__pyx_f_4lxml_5etree_11_BaseParser__parseDoc』:
src/lxml/lxml.etree.c:86403:3: warning: 『__pyx_r』 may be used uninitialized in this function [-Wuninitialized]
src/lxml/lxml.etree.c: In function 『__pyx_f_4lxml_5etree_11_BaseParser__parseUnicodeDoc』:
src/lxml/lxml.etree.c:86093:3: warning: 『__pyx_r』 may be used uninitialized in this function [-Wuninitialized]
src/lxml/lxml.etree.c: In function 『__pyx_f_4lxml_5etree_11_BaseParser__parseDocFromFilelike』:
src/lxml/lxml.etree.c:86925:3: warning: 『__pyx_r』 may be used uninitialized in this function [-Wuninitialized]
Adding lxml 3.0.1 to easy-install.pth file

Installed /usr/local/lib/python2.7/dist-packages/lxml-3.0.1-py2.7-linux-x86_64.egg
Searching for w3lib>=1.2
Reading http://pypi.python.org/simple/w3lib/
Reading http://github.com/scrapy/w3lib
Best match: w3lib 1.2
Downloading http://pypi.python.org/packages/source/w/w3lib/w3lib-1.2.tar.gz#md5=
Processing w3lib-1.2.tar.gz
Running w3lib-1.2/setup.py -q bdist_egg --dist-dir /tmp/easy_install-ZAXTgy/w3lib-1.2/egg-dist-tmp-aU3vpc
zip_safe flag not set; analyzing archive contents...
Adding w3lib 1.2 to easy-install.pth file

Installed /usr/local/lib/python2.7/dist-packages/w3lib-1.2-py2.7.egg
Searching for Twisted>=8.0
Reading http://pypi.python.org/simple/Twisted/
Reading http://www.twistedmatrix.com
Reading http://twistedmatrix.com/procts/download
Reading http://twistedmatrix.com/
Reading http://tmrc.mit.e/mirror/twisted/Twisted/9.0/
Reading http://tmrc.mit.e/mirror/twisted/Twisted/10.0/
Reading http://twistedmatrix.com/projects/core/
Reading http://tmrc.mit.e/mirror/twisted/Twisted/8.2/
Reading http://tmrc.mit.e/mirror/twisted/Twisted/8.1/
Best match: Twisted 12.2.0
Downloading http://pypi.python.org/packages/source/T/Twisted/Twisted-12.2.0.tar.bz2#md5=
Processing Twisted-12.2.0.tar.bz2
Running Twisted-12.2.0/setup.py -q bdist_egg --dist-dir /tmp/easy_install-kw897y/Twisted-12.2.0/egg-dist-tmp-sZWFYb
In file included from /usr/include/python2.7/Python.h:8:0,
from twisted/internet/_sigchld.c:9:
/usr/include/python2.7/pyconfig.h:1161:0: warning: "_POSIX_C_SOURCE" redefined [enabled by default]
/usr/include/features.h:215:0: note: this is the location of the previous definition
twisted/internet/_sigchld.c: In function 『got_signal』:
twisted/internet/_sigchld.c:15:13: warning: variable 『ignored_result』 set but not used [-Wunused-but-set-variable]
Adding Twisted 12.2.0 to easy-install.pth file
Installing mailmail script to /usr/local/bin
Installing conch script to /usr/local/bin
Installing pyhtmlizer script to /usr/local/bin
Installing twistd script to /usr/local/bin
Installing lore script to /usr/local/bin
Installing tkconch script to /usr/local/bin
Installing tapconvert script to /usr/local/bin
Installing ckeygen script to /usr/local/bin
Installing tap2rpm script to /usr/local/bin
Installing manhole script to /usr/local/bin
Installing trial script to /usr/local/bin
Installing cftp script to /usr/local/bin
Installing tap2deb script to /usr/local/bin

Installed /usr/local/lib/python2.7/dist-packages/Twisted-12.2.0-py2.7-linux-x86_64.egg
Finished processing dependencies for Scrapy
表示安裝成功。

3、測試

scrapy shell http://ziki.cn
獲取所有a標簽

hxs.select('//a').extract()
參考資料

http://doc.scrapy.org/en/latest/intro/install.html
http://doc.scrapy.org/en/latest/intro/tutorial.html

④ linux環境下怎樣監控scrapy程序的運行狀況

#!/bin/sh

#------------------------------------------------------------------------------
# 函數: CheckProcess
# 功能: 檢查一個進程是否存在
# 參數: $1 --- 要檢查的進程名稱
# 返回: 如果存在返回0, 否則返回1.
#------------------------------------------------------------------------------
CheckProcess()
{
# 檢查輸入的參數是否有效
if [ "$1" = "" ];
then
return 1
fi

#$PROCESS_NUM獲取指定進程名的數目,為1返回0,表示正常,不為1返回1,表示有錯誤,需要重新啟動
PROCESS_NUM=`ps -ef | grep "$1" | grep -v "grep" | wc -l`
if [ $PROCESS_NUM -eq 1 ];
then
return 0
else
return 1
fi
}

# 檢查test實例是否已經存在
while [ 1 ] ; do
CheckProcess "test"
CheckQQ_RET=$?
if [ $CheckQQ_RET -eq 1 ];
then

# 殺死所有test進程,可換任意你需要執行的操作

killall -9 test
exec ./test &
fi
sleep 1
done

⑤ 如何升級crapy版本 linux

在terminal裡面看到scrapy的版本是1.0.3,為了升級到最新版本,可以採用一行命令即可。
?

1

sudo pip install --upgrade scrapy

安裝完成之後,查看版本:
?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21

☁ Code scrapy --version
Scrapy 1.3.0 - no active project

Usage:
scrapy <command> [options] [args]

Available commands:
bench Run quick benchmark test
commands
fetch Fetch a URL using the Scrapy downloader
genspider Generate new spider using pre-defined templates
runspider Run a self-contained spider (without creating a project)
settings Get settings values
shell Interactive scraping console
startproject Create new project
version Print Scrapy version
view Open URL in browser, as seen by Scrapy

[ more ] More commands available when run from project directory

Use "scrapy <command> -h" to see more info about a command

⑥ 如何抓取linux系統的eth0網卡來自172.16.2.10的80埠的包

tcpmp -i eth0 -nn ' port 80 and host 172.16.2.10'
使用tcpmp指令來抓取包,後面接相應的參數即可。

⑦ 如何在linux下安裝支持python3的scrapy

如何在linux下安裝支持python3的scrapy
window)的歷史內容已經被tmux接管了,所以原來console/terminal提供的Shift+PgUp/PgDn所顯示的內容並不是當前窗口的歷史內容,所以要用C-b
[進入-mode,然後才能用PgUp/PgDn/游標/Ctrl-S等鍵在-mode中移動。
如果要啟用滑鼠滾輪來卷動窗口內容的話,可以按C-b
:然後輸入
setw
mode-mouse
on
這就可以了。如果要對所有窗口開啟的話:
setw
-g
mode-mouse
on

⑧ linux下怎麼用pycharm調試scrapy-linux博客

方法/步驟 首先,打開pycharm,同時來檢查一下是否安裝好了git。 用命令行來執行 git version,會有結果出來,就證明了git安裝好了,然後就通過git下載代碼。 將代碼導入到pycharm中,會發現右上角有提示,意思就是找不到git的路徑,無法解析代.

⑨ 同時裝有python2.7 python3.5 scrapy命令怎麼在python2.7上面運行

終端scrapy命令實際上是調用了python安裝文件夾的子文件夾Scripts里的scrapy.exe(windows系統)或者scrapy.sh(linux系統)

所以如果你在終端鍵入scrapy執行的是python3.5的, 說明你的默認python是3.5

這個時候要想執行python2.7的,有幾個方法:

  1. 改變path環境變數, 設置python2.7為默認python(這個太麻煩, 不推薦)

  2. 執行scrapy命令(假設要執行scrapy startproject projectname)的時候不直接鍵入scrapy, 而是加上scrapy的絕對路徑,

    windows上: C:InstallAnaconda2Scriptsscrapy startproject projectname

    linux 同理

  3. 把python2.7的scrapy.exe所在的文件夾(我這里是C:InstallAnaconda2Scripts)添加到環境變數Path里, 將scrapy.exe重命名為scrapy2.exe(linux同理)

    然後終端運行的時候就輸入 scrapy2 startproject projectname 即可

4. 用virtualenv創建兩個隔離的虛擬python環境, 分別執行

⑩ 如何在linux ubuntu 下安裝scapy pyx

最近在學習爬蟲,早就聽說Python寫爬蟲極爽(貌似pythoner說python都爽,不過也確實,python的類庫非常豐富,不用重復造輪子),還有一個強大的框架Scrapy,於是決定嘗試一下。
要想使用Scrapy第一件事,當然是安裝Scrapy,嘗試了Windows和Ubuntu的安裝,本文先講一下 Ubuntu的安裝,比Windows的安裝簡單太多了。抽時間也會詳細介紹一下怎麼在Windows下進行安裝。
官方介紹,在安裝Scrapy前需要安裝一系列的依賴.
* Python 2.7: Scrapy是Python框架,當然要先安裝Python ,不過由於Scrapy暫時只支持 Python2.7,因此首先確保你安裝的是Python 2.7
* lxml:大多數Linux發行版自帶了lxml
* OpenSSL:除了windows之外的系統都已經提供
* Python Package: pip and setuptools. 由於現在pip依賴setuptools,所以安裝pip會自動安裝setuptools
有上面的依賴可知,在非windows的環境下安裝 Scrapy的相關依賴是比較簡單的,只用安裝pip即可。Scrapy使用pip完成安裝。
檢查Scrapy依賴是否安裝
你可能會不放心自己的電腦是否已經安裝了,上面說的已經存在的依賴,那麼你可以使用下面的方法檢查一下,本文使用的是Ubuntu 14.04。
檢查Python的版本
$ python --version
如果看到下面的輸出,說明Python的環境已經安裝,我這里顯示的是Python 2.7.6,版本也是2.7的滿足要求。如果沒有出現下面的信息,那麼請讀者自行網路安裝Python,本文不介紹Python的安裝(網上一搜一堆)。

檢查lxml和OpenSSL是否安裝
假設已經安裝了Python,在控制台輸入python,進入Python的交互環境。

然後分別輸入import lxml和import OpenSSL如果沒有報錯,說明兩個依賴都已經安裝。

安裝python-dev和libevent
python-dev是linux上開發python比較重要的工具,以下的情況你需要安裝
* 你需要自己安裝一個源外的python類庫, 而這個類庫內含需要編譯的調用python api的c/c++文件
* 你自己寫的一個程序編譯需要鏈接libpythonXX.(a|so)
libevent是一個時間出發的高性能的網路庫,很多框架的底層都使用了libevent
上面兩個庫是需要安裝的,不然後面後報錯。使用下面的指令安裝
$sudo apt-get install python-dev
$sudo apt-get install libevent-dev
安裝pip
因為Scrapy可以使用pip方便的安裝,因此我們需要先安裝pip,可以使用下面的指令安裝pip
$ sudo apt-get install python-pip
使用pip安裝Scrapy
使用下面的指令安裝Scrapy。
$ sudo pip install scrapy
記住一定要獲得root許可權,否則會出現下面的錯誤。

至此scrapy安裝完成,使用下面的命令檢查Scrapy是否安裝成功。
$ scrapy version
顯示如下結果說明安裝成功,此處的安裝版本是1.02

閱讀全文

與scrapylinux相關的資料

熱點內容
zigbee加密演算法 瀏覽:451
柏楊版資治通鑒pdf 瀏覽:389
事業編程序員下班時間 瀏覽:8
linux中命令大全 瀏覽:36
pic單片機學習網站 瀏覽:163
843除6的演算法 瀏覽:376
arduino編程視頻 瀏覽:744
pdf背景綠色 瀏覽:612
記事本dos命令 瀏覽:274
伺服器如何搭建多個節點 瀏覽:326
acx演算法 瀏覽:258
幽冥詭匠漫畫全集用什麼app可以看 瀏覽:1002
租用伺服器為什麼越來越慢 瀏覽:962
演算法創新就業方向 瀏覽:424
演算法最優解作者 瀏覽:869
通達信紅綠寶塔線指標源碼 瀏覽:668
app是什麼東西合法嗎 瀏覽:233
怎麼鎖app視頻教程 瀏覽:842
迅捷pdf注冊碼生成器 瀏覽:750
androidsdkosx 瀏覽:304