中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

網(wǎng)站建設(shè) 用英語網(wǎng)絡(luò)營銷現(xiàn)狀分析

網(wǎng)站建設(shè) 用英語,網(wǎng)絡(luò)營銷現(xiàn)狀分析,西安it培訓(xùn)機(jī)構(gòu),管理手機(jī)網(wǎng)站目錄 二十六、Python爬蟲的Scrapy爬蟲框架26.1 Scrapy下載安裝26.2 創(chuàng)建Scrapy爬蟲項目1) 創(chuàng)建第一個Scrapy爬蟲項目 26.3 Scrapy爬蟲工作流程26.4 settings配置文件 二十六、Python爬蟲的Scrapy爬蟲框架 Scrapy 是一個基于 Twisted 實現(xiàn)的異步處理爬蟲框架,該框架…

目錄

  • 二十六、Python爬蟲的Scrapy爬蟲框架
    • 26.1 Scrapy下載安裝
    • 26.2 創(chuàng)建Scrapy爬蟲項目
        • 1) 創(chuàng)建第一個Scrapy爬蟲項目
    • 26.3 Scrapy爬蟲工作流程
    • 26.4 settings配置文件

二十六、Python爬蟲的Scrapy爬蟲框架

Scrapy 是一個基于 Twisted 實現(xiàn)的異步處理爬蟲框架,該框架使用純 Python 語言編寫。Scrapy 框架應(yīng)用廣泛,常用于數(shù)據(jù)采集、網(wǎng)絡(luò)監(jiān)測,以及自動化測試等。

提示:Twisted 是一個基于事件驅(qū)動的網(wǎng)絡(luò)引擎框架,同樣采用 Python 實現(xiàn)。

26.1 Scrapy下載安裝

Scrapy 支持常見的主流平臺,比如 Linux、Mac、Windows 等,因此你可以很方便的安裝它。本節(jié)以 Windows 系統(tǒng)為例,在 CMD 命令行執(zhí)行以下命令:

python -m pip install Scrapy

由于 Scrapy 需要許多依賴項,因此安裝時間較長,大家請耐心等待,關(guān)于其他平臺的安裝方法,可參考官方文檔《Scrapy安裝指南》。

驗證安裝,如下所示:

C:\Users\Administrator>python
Python 3.7.4 (tags/v3.7.4:e09359112e, Jul  8 2019, 19:29:22) [MSC v.1916 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import scrapy
>>> exit()

如果可以正常執(zhí)行exit()操作,并且沒有出現(xiàn) ERROR 錯誤,則說明安裝成功。

26.2 創(chuàng)建Scrapy爬蟲項目

Scrapy 框架提供了一些常用的命令用來創(chuàng)建項目、查看配置信息,以及運行爬蟲程序。常用指令如下所示:

常用指令 命令 | 格式 | 說明 ---|---|--- startproject | scrapy startproject <項目名> | 創(chuàng)建一個新項目。 genspider | scrapy genspider <爬蟲文件名> <域名> | 新建爬蟲文件。 runspider | scrapy runspider <爬蟲文件> | 運行一個爬蟲文件,不需要創(chuàng)建項目。 crawl | scrapy crawl | 運行一個爬蟲項目,必須要創(chuàng)建項目。 list | scrapy list | 列出項目中所有爬蟲文件。 view | scrapy view

1) 創(chuàng)建第一個Scrapy爬蟲項目

下面創(chuàng)建名為 Baidu 的爬蟲項目,打開 CMD 命令提示符進(jìn)行如下操作:


C:\Users\Administrator>cd DesktopC:\Users\Administrator\Desktop>scrapy startproject Baidu
New Scrapy project 'Baidu', using template directory 'd:\python\python37\lib\site-packages\scrapy\templates\project', created in:C:\Users\Administrator\Desktop\Baidu
# 提示后續(xù)命令操作
You can start your first spider with:cd Baiduscrapy genspider example example.com

打開新建的項目“Baidu”會有以下項目文件,如圖所示:

在這里插入圖片描述

圖1:項目文件

接下來,創(chuàng)建一個爬蟲文件,如下所示:


C:\Users\Administrator\Desktop>cd Baidu
C:\Users\Administrator\Desktop\Baidu>scrapy genspider baidu www.baidu.com
Created spider 'baidu' using template 'basic' in module:Baidu.spiders.baidu

下面呈現(xiàn)了項目的目錄樹結(jié)構(gòu),以及各個文件的作用:


Baidu                   # 項目文件夾
├── Baidu               # 用來裝載項目文件的目錄
│   ├── items.py        # 定義要抓取的數(shù)據(jù)結(jié)構(gòu)
│   ├── middlewares.py  # 中間件,用來設(shè)置一些處理規(guī)則
│   ├── pipelines.py    # 管道文件,處理抓取的數(shù)據(jù)
│   ├── settings.py     # 全局配置文件
│   └── spiders         # 用來裝載爬蟲文件的目錄  
│       ├── baidu.py    # 具體的爬蟲程序
└── scrapy.cfg          # 項目基本配置文件

從上述目錄結(jié)構(gòu)可以看出,Scrapy 將整個爬蟲程序分成了不同的模塊,讓每個模塊負(fù)責(zé)處理不同的工作,而且模塊之間緊密聯(lián)系。因此,您只需要在相應(yīng)的模塊編寫相應(yīng)的代碼,就可以輕松的實現(xiàn)一個爬蟲程序。

26.3 Scrapy爬蟲工作流程

Scrapy 框架由五大組件構(gòu)成,如下所示:

Scrapy 五大組件

名稱作用說明
Engine(引擎)整個 Scrapy 框架的核心,主要負(fù)責(zé)數(shù)據(jù)和信號在不同模塊間傳遞。
Scheduler(調(diào)度器)用來維護(hù)引擎發(fā)送過來的 request 請求隊列。
Downloader(下載器)接收引擎發(fā)送過來的 request 請求,并生成請求的響應(yīng)對象,將響應(yīng)結(jié)果返回給引擎。
Spider(爬蟲程序)處理引擎發(fā)送過來的 response, 主要用來解析、提取數(shù)據(jù)和獲取需要跟進(jìn)的二級URL,然后將這些數(shù)據(jù)交回給引擎。
Pipeline(項目管道)用實現(xiàn)數(shù)據(jù)存儲,對引擎發(fā)送過來的數(shù)據(jù)進(jìn)一步處理,比如存 MySQL 數(shù)據(jù)庫等。

在整個執(zhí)行過程中,還涉及到兩個 middlewares 中間件,分別是下載器中間件(Downloader Middlewares)和蜘蛛中間件(Spider
Middlewares),它們分別承擔(dān)著不同的作用:

  • 下載器中間件,位于引擎和下載器之間,主要用來包裝 request 請求頭,比如 UersAgent、Cookies 和代理 IP 等
  • 蜘蛛中間件,位于引擎與爬蟲文件之間,它主要用來修改響應(yīng)對象的屬性。

Scrapy 工作流程示意圖如下所示:
在這里插入圖片描述

圖1:工作流程示意圖

上述示意圖描述如下,當(dāng)一個爬蟲項目啟動后,Scrapy 框架會進(jìn)行以下工作:

  • 第一步:由“引擎”向爬蟲文件索要第一個待爬取的 URL,并將其交給調(diào)度器加入 URL 隊列當(dāng)中(對應(yīng)圖中1/2步驟)。
  • 第二步:調(diào)度器處理完請求后, 將第一個 URL 出隊列返回給引擎;引擎經(jīng)由下載器中間件將該 URL 交給下載器去下載 response 對象(對應(yīng)3/4步驟)。
  • 第三步:下載器得到響應(yīng)對象后,將響應(yīng)結(jié)果交給引擎,引擎收到后,經(jīng)由蜘蛛中間件將響應(yīng)結(jié)果交給爬蟲文件(對應(yīng)5/6步驟)。
  • 第四步:爬蟲文件對響應(yīng)結(jié)果進(jìn)行處理、分析,并提取出所需要的數(shù)據(jù)。
  • 第五步:最后,提取的數(shù)據(jù)會交給管道文件去存數(shù)據(jù)庫,同時將需要繼續(xù)跟進(jìn)的二級頁面 URL 交給調(diào)度器去入隊列(對應(yīng)7/8/9步驟)。

上述過程會一直循環(huán),直到?jīng)]有要爬取的 URL 為止,也就是 URL 隊列為空時才會停止。

26.4 settings配置文件

在使用 Scrapy 框架時,還需要對配置文件進(jìn)行稍微改動。下面使用 Pycharm 打開剛剛創(chuàng)建的“Baidu”項目,對配置文件進(jìn)行如下修改:

# 1、定義User-Agent
USER_AGENT = 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)'
# 2、是否遵循robots協(xié)議,一般設(shè)置為False
ROBOTSTXT_OBEY = False
# 3、最大并發(fā)量,默認(rèn)為16
CONCURRENT_REQUESTS = 32
# 4、下載延遲時間
DOWNLOAD_DELAY = 1

其余常用配置項介紹:

# 設(shè)置日志級別,DEBUG < INFO < WARNING < ERROR < CRITICAL
LOG_LEVEL = ' '
# 將日志信息保存日志文件中,而不在終端輸出
LOG_FILE = ''
# 設(shè)置導(dǎo)出數(shù)據(jù)的編碼格式(主要針對于json文件)
FEED_EXPORT_ENCODING = ''
# 非結(jié)構(gòu)化數(shù)據(jù)的存儲路徑
IMAGES_STORE = '路徑'
# 請求頭,此處可以添加User-Agent、cookies、referer等
DEFAULT_REQUEST_HEADERS={'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8','Accept-Language': 'en',
}
# 項目管道,300 代表激活的優(yōu)先級 越小越優(yōu)先,取值1到1000
ITEM_PIPELINES={'Baidu.pipelines.BaiduPipeline':300
}
# 添加下載器中間件
DOWNLOADER_MIDDLEWARES = {}

想要了解更多關(guān)于 Scrapy 框架的知識,可參考官方文檔:https://docs.scrapy.org/en/latest/index.html

http://www.risenshineclean.com/news/3097.html

相關(guān)文章:

  • 愛網(wǎng)站長尾推廣營銷策劃方案
  • 注冊新公司網(wǎng)上核名網(wǎng)站seo短視頻網(wǎng)頁入口引流網(wǎng)站
  • 計算機(jī)網(wǎng)站建設(shè)北京網(wǎng)站快速排名優(yōu)化
  • 文書寫作網(wǎng)站企業(yè)網(wǎng)上的推廣
  • 如何做不同域名跳轉(zhuǎn)同一個網(wǎng)站外貿(mào)網(wǎng)站建設(shè)
  • 畢業(yè)答辯問題怎么做的這個網(wǎng)站百度推廣按效果付費是多少錢
  • 黑科技引流工具西安百度推廣優(yōu)化托管
  • wordpress 4.6 中文版seo研究中心學(xué)員案例
  • 網(wǎng)絡(luò)營銷外包案例抖音seo關(guān)鍵詞排名技術(shù)
  • wordpress視頻無畫面搜索引擎優(yōu)化的英文
  • 合肥工大建設(shè)監(jiān)理有限公司網(wǎng)站信息流推廣渠道有哪些
  • 如何制作公司網(wǎng)站免費軟文文案案例
  • wordpress 登錄慢seo精華網(wǎng)站
  • 五金加工廠怎么做網(wǎng)站seo搜索引擎優(yōu)化薪資
  • wordpress日文模板seo網(wǎng)絡(luò)營銷招聘
  • 網(wǎng)站開發(fā)常見面試目前常用的搜索引擎有哪些
  • 武漢網(wǎng)站策劃公司痘痘怎么去除有效果
  • 怎樣進(jìn)入公眾號平臺青島百度seo代理
  • 如何檢測網(wǎng)站開發(fā)商留有后門網(wǎng)站seo是什么
  • 可以在手機(jī)建網(wǎng)站的百度網(wǎng)盤網(wǎng)址
  • 青島專業(yè)做網(wǎng)站的目前最火的自媒體平臺
  • 互動網(wǎng)站案例培訓(xùn)教育機(jī)構(gòu)
  • 熊貓辦公ppt模板下載seo外包公司報價
  • 個體工商戶怎么做網(wǎng)站搜索引擎優(yōu)化英文簡稱
  • html網(wǎng)站開發(fā)論文新人跑業(yè)務(wù)怎么找客戶
  • 網(wǎng)站功能結(jié)構(gòu)圖 怎么做鄭州網(wǎng)絡(luò)營銷顧問
  • 餐飲管理培訓(xùn)課程成都百度seo推廣
  • 企業(yè)門戶網(wǎng)站設(shè)計方案如何推廣自己產(chǎn)品
  • 如何使用模板網(wǎng)站建設(shè)網(wǎng)頁seo系統(tǒng)是什么
  • 網(wǎng)站做的好的公司名稱泉州百度關(guān)鍵詞優(yōu)化