Python爬蟲基礎講解之scrapy框架
網絡爬蟲
網絡爬蟲是指在互聯網上自動爬取網站內容信息的程序,也被稱作網絡蜘蛛或網絡機器人。大型的爬蟲程序被廣泛應用於搜索引擎、數據挖掘等領域,個人用戶或企業也可以利用爬蟲收集對自身有價值的數據。
一個網絡爬蟲程序的基本執行流程可以總結三個過程:請求數據,解析數據,保存數據
數據請求
請求的數據除瞭普通的HTML之外,還有json數據、字符串數據、圖片、視頻、音頻等。
解析數據
當一個數據下載完成後,對數據中的內容進行分析,並提取出需要的數據,提取到的數據可以以多種形式保存起來,數據的格式有非常多種,常見的有csv、json、pickle等
保存數據
最後將數據以某種格式(CSV、JSON)寫入文件中,或存儲到數據庫(MySQL、MongoDB)中。同時保存為一種或者多種。
通常,我們想要獲取的數據並不隻在一個頁面中,而是分佈在多個頁面中,這些頁面彼此聯系,一個頁面中可能包含一個或多個到其他頁面的鏈接,提取完當前頁面中的數據後,還要把頁面中的某些鏈接也提取出來,然後對鏈接頁面進行爬取(循環1-3步驟)。
設計爬蟲程序時,還要考慮防止重復爬取相同頁面(URL去重)、網頁搜索策略(深度優先或廣度優先等)、爬蟲訪問邊界限定等一系列問題。
從頭開發一個爬蟲程序是一項煩瑣的工作,為瞭避免因制造輪子而消耗大量時間,在實際應用中我們可以選擇使用一些優秀的爬蟲框架,使用框架可以降低開發成本,提高程序質量,讓我們能夠專註於業務邏輯(爬取有價值的數據)。接下來,就帶你學習目前非常流行的開源爬蟲框架Scrapy。
scrapy安裝
scrapy官網:https://scrapy.org/
scrapy中文文檔:https://www.osgeo.cn/scrapy/intro/overview.html
安裝方式
在任意操作系統下,可以使用pip安裝Scrapy,例如:
pip install scrapy
安裝完成後我們需要測試安裝是否成功,通過如下步驟確認:
在終端中測試能否執行scrapy這條命令
scrapy 2.4.0 - no active project usage: scrapy <command>[options] [args] Available commands : bench Run quick benchmark test fetch Fetch a URL using the scrapy down1oader genspider Generate new spider using pre-defined temp1ates runspider Run a self-contained spider (without creating a project) settings Get settings values she11 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
輸入scrapy bench測試連通性,如果出現以下情況表示安裝成功:
通過瞭以上兩項檢測,說明Scrapy安裝成功瞭。如上所示,我們安裝的是當前最新版本2.4.0。
註意:
在安裝Scrapy的過程中可能會遇到缺少VC++等錯誤,可以安裝缺失模塊的離線包
成功安裝後,在CMD下運行scrapy出現上圖不算真正成功,檢測真正是否成功使用scrapybench測試,如果沒有提示錯誤,就代表成功安裝。
全局命令
scrapy 2.4.0 - no active project usage: scrapy <command>[options] [args] Available commands : bench Run quick benchmark test #測試電腦性能 fetch Fetch a URL using the scrapy down1oader#將源代碼下載下來並顯示出來 genspider Generate new spider using pre-defined temp1ates#創建一個新的spider文件 runspider Run a self-contained spider (without creating a project)# 這個和通過craw1啟動爬蟲不同,scrapy runspider爬蟲文件名稱 settings Get settings values#獲取當前的配置信息 she11 Interactive scraping console#進入scrapy 的交互模式 startproject create new project#創建爬蟲項目 version Print scrapy version#顯示scrapy框架的版本 view open URL in browser,as seen by scrapy#將網頁document內容下載下來,並且在瀏覽器顯示出來 [ more ] More commands available when run from project directory use "scrapy <command> -h" to see more info about a command
項目命令
- scrapy startproject projectname
- 創建一個項目
- scrapy genspider spidername domain
- 創建爬蟲。創建好爬蟲項目以後,還需要創建爬蟲。
- scrapy crawl spidername
- 運行爬蟲。註意該命令運行時所在的目錄。
到此這篇關於Python爬蟲基礎講解之scrapy框架的文章就介紹到這瞭,更多相關Python scrapy框架內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- python3 scrapy框架的執行流程
- 一文讀懂python Scrapy爬蟲框架
- Python爬蟲教程使用Scrapy框架爬取小說代碼示例
- 爬蟲進階-JS自動渲染之Scrapy_splash組件的使用
- Python Scrapy爬蟲框架使用示例淺析