本文用於以後快速創建爬蟲項目
誤點進來的朋友可以關閉了,因爲本文沒有啥價值?
準備
pip install scrapy
pip install selenium
下載 chrome webdriver,放在環境變量裏
scrapy shell 或 控制檯
打開要爬取的網站,命令行輸入
scrapy shell your-url
如果爬取的是動態頁面、QQ空間一類需要登陸的網站,則打開瀏覽器的控制檯。
命令行使用:response.xpath(‘RULE’).extract()
瀏覽器使用:$x(‘RULE’)
這裏的 RULE 是 xpath 規則,自行百度學習 xpath 語法
至此,已獲得網站裏你需要的內容的 xpath,可以開始寫代碼了。
開始寫代碼
創建項目
命令行 scrapy startproject project-name
cd 進去,開始爬是 scrapy crawl spider-name
,當然現在還沒寫代碼,先放着
工作流程
不知道從哪說起,先看着目錄說一下 scrapy 工作流程:
從最初定義的 起始 url 開始,請求這個網頁,返回網頁的body,這個body默認是直接請求返回的,也可以在 middleware.py 中,使用中間層軟件如 Chromedriver 獲得網頁內容,然後返回 body
數據流到 spider.py 中的 parse 函數,在parse函數中處理網頁的 body,解析出我們想要的數據,作爲各個成員封裝爲一個item,item 的格式聲明在 items.py 中
item yield 之後,流到了 pipelines.py,這個文件對來到的 item 進行篩選、丟棄或存入數據庫或寫入文件中,可以下載圖片等等。
項目的一些配置存放在 settings.py
各個文件各司其職,條理清晰,很友好
動手
在 project/spiders/ 目錄下創建一個文件 MySpider.py
文件包含一個MySpider類,它必須繼承scrapy.Spider類,然後實現 parse 成員方法。
要有以下成員:…
在 items.py 中創建一個類,繼承自 scrapy.Item,成員全部聲明爲
var1 = scrapy.Field()
這種形式,這個類的成員就是需要爬取的數據模型,比如文章標題、內容等。
pipelines.py 中是對數據的處理,
煩了,不想寫了,以後再改。