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 : benchRun quick benchmark test fetchFetch a URL using the scrapy down1oader genspiderGenerate new spider using pre-defined temp1ates runspiderRun a self-contained spider (without creating a project) settingsGet settings values she11Interactive scraping console startprojectcreate new project versionPrint scrapy version viewopen 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 directoryuse 'scrapy <command> -h' to see more info about a command
項目命令
scrapy startproject projectname 創建一個項目 scrapy genspider spidername domain 創建爬蟲。創建好爬蟲項目以后,還需要創建爬蟲。 scrapy crawl spidername 運行爬蟲。注意該命令運行時所在的目錄。到此這篇關于Python爬蟲基礎講解之scrapy框架的文章就介紹到這了,更多相關Python scrapy框架內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!
相關文章:
1. 將properties文件的配置設置為整個Web應用的全局變量實現方法2. python中pandas.read_csv()函數的深入講解3. python爬蟲利用代理池更換IP的方法步驟4. JS算法題解旋轉數組方法示例5. SpringBoot集成SSM、Dubbo、Redis、JSP的案例小結及思路講解6. Python語言規范之Pylint的詳細用法7. springboot用controller跳轉html頁面的實現8. VMware如何進入BIOS方法9. JavaScript forEach中return失效問題解決方案10. PHP設計模式之迭代器模式Iterator實例分析【對象行為型】
