1. 程式人生 > >第二章 python分散式爬蟲打造搜尋引擎環境搭建 第一節建立第一個scrapy專案

第二章 python分散式爬蟲打造搜尋引擎環境搭建 第一節建立第一個scrapy專案

       scrapy可以執行在python2.7、python3.3或者是更高的版本上;首先我們借用之前的知識,建立一個python環境。然後在此python環境中建立我們的scrapy專案。這裡你如果不理解的可以給你們大個比方,python版本就好比是jdk,scrapy就好比Java專案,這麼說你們應該能稍微理解一下兩者之間的關係了,可能比喻不貼切,但應該就是這麼回事。

1.建立pyhton環境,執行如下指令碼:

mkvirtualenv -p  /usr/bin/python3  article_scrapy

2.檢視當前環境的python版本,執行如下指令碼:

python

3.中途想退出此前的環境,執行如下指令碼:

deactivate

4.如何進入已建立的python環境,執行如下指令碼:

workon article_scrapy

5.安裝scrapy環境,可以使用常規安裝方法(版本更新快,但是安裝速度慢),也可以使用豆瓣映象安裝(安裝速度快,但可能版本更新的比較慢),各有和好處吧,執行如下指令碼:

pip install -i https://pypi.douban.com/simple/ scrappy

以上五步的效果圖如下所示:

6.建立一個scrapy專案,執行如下指令碼:

scrapy startproject ArticleScrapy

7.按照上述給出的方法,進行我們的建立,執行如下指令碼:

cd ArticleScrapy #進入到scrapy專案路徑下
scrapy genspider jobbole  blog.jobbole.com  #用模板建立一個爬蟲程式

8.建立好了檔案,我們開啟此檔案看看結構。

cd spiders/   #切換到此目錄下 
vim jobbole.py  #開啟檔案

生成的原始檔案如下圖所示:

9.編寫爬蟲檔案,爬取我們想要的東西,加入如下程式碼(注意程式碼的縮排),這裡你可能不明白下面程式碼的意義,沒有關係,先往下看就好了,後面的章節會詳細講解到:

        #//*[@id = "post-114505"]/div[1]/h1
        #/html/body/div[1]/div[3]/div[1]/div[1]/h1
        re_selector=response.xpath('//*[@id="post-114505"]/div[1]/h1/text()')
        print(re_selector.extract()[0])
        re_selector2 = response.xpath('//*[@id="post-114505"]/div[2]/p/text()[1]')
        print(re_selector2.extract()[0])

10.儲存並退出此檔案,這個時候還需要修改一個配置檔案,我們的爬蟲才能正常的進行,修改settings.py檔案,找到ROBOTSTXT_OBEY = False,原來是True,現在改為False.

vim settings.py  #開啟配置檔案
ROBOTSTXT_OBEY = False   #修改為False,這裡好像是為了規避掉ROBOTSTXT協議對URL的過濾

11.如何執行我們的蜘蛛,在專案的最頂層目錄執行:

scrapy crawl jobbole

你將得到如下輸出:

到此一個爬蟲的簡單專案就完成了,下一節說一下scrapy start_url(初始連結)簡寫問題和原始問題解析!今晚到此為止吧,我也是小白一枚,如有問題歡迎各位大佬批評指正。虛心接受批評哦。