關(guān)于Python網(wǎng)絡(luò)爬蟲框架scrapy
scrapy爬蟲框架介紹
scrapy不是一個(gè)簡(jiǎn)單的函數(shù)功能庫(kù),而是一個(gè)爬蟲框架
爬蟲框架:
- 爬蟲框架是實(shí)現(xiàn)爬蟲功能的一個(gè)軟件結(jié)構(gòu)和功能組件的集合。
- 爬蟲框架是一個(gè)半成品,能夠幫助用戶實(shí)現(xiàn)專業(yè)網(wǎng)絡(luò)爬蟲。
scrapy爬蟲框架結(jié)構(gòu)
“5+2”結(jié)構(gòu):
- ENGINE :已有的,核心,控制所有模塊之間的數(shù)據(jù)流,根據(jù)條件觸發(fā)事件
- SCHEDULER:已有的,對(duì)所有的爬蟲請(qǐng)求進(jìn)行調(diào)度管理
- ITEM PIPELINES :框架出口,用戶編寫,以流水線方式處理Spider產(chǎn)生的爬取項(xiàng),由一組操作順序組成,類似流水線,每個(gè)操作是一個(gè)item pipline類型,可能操作包括:清理,檢驗(yàn)和查重爬取項(xiàng)中的HTML數(shù)據(jù),將數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫(kù)
- SPIDERS :框架入口,用戶編寫,解析downloader返回的響應(yīng),產(chǎn)生爬取項(xiàng),以及額外的爬取請(qǐng)求
- DOWNLOADER :已有的,根據(jù)請(qǐng)求下載網(wǎng)頁(yè)
- 2個(gè)MIDDLEWARE:Download Middleware:實(shí)施Engine,Scheduler和Downloader之間用戶可配置的控制,即用戶可以修改、丟棄、新增請(qǐng)求或響應(yīng)。Spider Middleware,對(duì)spider的請(qǐng)求和爬取項(xiàng)的再處理。修改、丟棄、新增請(qǐng)求或爬取項(xiàng)。
requests庫(kù)和scrapy庫(kù)比較
相同點(diǎn):兩者都可以進(jìn)行頁(yè)面請(qǐng)求和爬取,Python爬蟲的兩個(gè)重要技術(shù)路線。 兩者可用性好,文檔豐富,入門簡(jiǎn)單。 兩者都沒(méi)有處理js、提交表單、應(yīng)對(duì)驗(yàn)證碼等功能(可擴(kuò)展)
不同點(diǎn):
requests | scrapy |
頁(yè)面級(jí)爬蟲 | 網(wǎng)站級(jí)爬蟲 |
功能庫(kù) | 框架 |
并發(fā)性考慮不足,性能較差 | 并發(fā)性好,性能較高 |
重點(diǎn)在于頁(yè)面下載 | 重點(diǎn)在于爬蟲結(jié)構(gòu) |
定制靈活 | 一般定制靈活,深度定制困難 |
上手十分簡(jiǎn)單 | 入門稍難 |
scrapy的常用命令
requests | scrapy |
頁(yè)面級(jí)爬蟲 | 網(wǎng)站級(jí)爬蟲 |
功能庫(kù) | 框架 |
并發(fā)性考慮不足,性能較差 | 并發(fā)性好,性能較高 |
重點(diǎn)在于頁(yè)面下載 | 重點(diǎn)在于爬蟲結(jié)構(gòu) |
定制靈活 | 一般定制靈活,深度定制困難 |
上手十分簡(jiǎn)單 | 入門稍難 |
到此這篇關(guān)于關(guān)于Python網(wǎng)絡(luò)爬蟲框架scrapy的文章就介紹到這了,更多相關(guān)Python爬蟲框架scrapy內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Pygame實(shí)現(xiàn)監(jiān)聽鼠標(biāo)示例詳解
這篇文章主要介紹了通過(guò)Pygame模塊實(shí)現(xiàn)監(jiān)聽鼠標(biāo)的功能,文章的示例代碼講解詳細(xì),對(duì)我們的學(xué)習(xí)或工作有一定的價(jià)值,感興趣的小伙伴可以了解一下2021-12-12使用python的pandas為你的股票繪制趨勢(shì)圖
這篇文章主要介紹了通過(guò)python為你的股票繪制趨勢(shì)圖,動(dòng)手寫個(gè)小程序, 把股票趨勢(shì)每天早上發(fā)到郵箱里,用 python 的 pandas, matplotlib 寫起來(lái)很容易, 幾十行代碼搞定。,需要的朋友可以參考下2019-06-06談一談數(shù)組拼接tf.concat()和np.concatenate()的區(qū)別
今天小編就為大家分享一篇談?wù)剶?shù)組拼接tf.concat()和np.concatenate()的區(qū)別,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-02-02springboot整合單機(jī)緩存ehcache的實(shí)現(xiàn)
本文主要介紹了springboot整合單機(jī)緩存ehcache的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02Python?SQLAlchemy之SQL工具包和ORM的用法詳解
SQLAlchemy?是?Python?中一款非常流行的數(shù)據(jù)庫(kù)工具包,它對(duì)底層的數(shù)據(jù)庫(kù)操作提供了高層次的抽象,在本篇文章中,我們將介紹SQLAlchemy的兩個(gè)主要組成部分:SQL工具包和對(duì)象關(guān)系映射器的基本使用,需要的朋友可以參考下2023-08-08Linux下Python安裝完成后使用pip命令的詳細(xì)教程
這篇文章主要介紹了Linux下Python安裝完成后使用pip命令的詳細(xì)教程,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-11-11python 利用百度API識(shí)別圖片文字(多線程版)
這篇文章主要介紹了python 利用百度API識(shí)別圖片文字(多線程版),幫助大家更好的利用python進(jìn)行機(jī)器識(shí)別,感興趣的朋友可以了解下2020-12-12