基礎部分:
1、框架的基本定義是什麼?
所謂的框架就是被集成了許多的功能且具有很強的通用性的項目模塊。
2、什麼是scrapy框架?
一個專門用於異步爬蟲的框架。
3、scrapy框架有哪些常見的功能?
(1)高性能的數據解析
(2)請求發送
(3)持久化存儲
(4)中間件
(5)分佈式
4、scapy的基本應用
(1)創建一個工程
scrapy startproject proname
注:目錄結構
spiler:爬蟲文件夾(必須存放一個爬蟲源文件)
seetings.py:工程的配置文件
(2)cd proname
(3)創建爬蟲源文件
scrapy genspider spidername www.xxx.com
編寫對應的代碼在爬蟲文件中
(4)執行工程
scrapy crawl spidernme
執行工程之後,默認會輸出所有的日誌信息
指定類型日誌輸出
eg: LOG_LEVEL = 'ERROR'
(5)爬蟲文件spidername內容解析
name:爬蟲文件的文件名,該文件的唯一標識
start_urls:起始Url列表,存儲的都是url.URL可自動發送get請求
parse方法:請求後的數據解析操作。
(6)setting.py
禁用robots
指定日誌類型
UA僞裝
進階概念:
1、數據解析
(1)使用:respose.xpath('xpath表達式')
(2)scrapy封裝的xpath和etree中的xpath的區別
scrapy中的xpath直接將定位到標籤中的存儲的值或者屬性取出,返回的是selector對象,且相關的數據值是存儲在selector對象的data屬性中,需要調用extract,extraxt_frist()取出字符串數據
2、持久化存儲
(1)基於終端指令持久化存儲
(2)基於管道持久化存儲
a、在爬蟲文件中進行數據解析
b、在items.py中定義相關屬性
c、在爬蟲文件中將解析到的數據類型封裝到item類的對象中去
d、將item類型的對象提交給管道
e、在管道文件中,接收爬蟲文件提交過來的item類型對象,且對其進行任意形式持久化存儲操作
3、五大核心組件
(1)引擎:原來處理整個系統的數據,觸發事務
(2)調度器:接收請求,壓入隊列,再次請求返回一個URL
(3)下載器:用於下載網頁內容,並將網頁內容返回給蜘蛛
(4)爬蟲
(5)項目管道