最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
當前位置: 首頁 - 科技 - 知識百科 - 正文

scrapy爬蟲框架的介紹

來源:懂視網 責編:小采 時間:2020-11-27 14:14:19
文檔

scrapy爬蟲框架的介紹

scrapy爬蟲框架的介紹:介紹一下scrapy 爬蟲框架安裝方法 pip install scrapy 就可以實現安裝了。我自己用anaconda 命令為conda install scrapy。 1 Engine從Spider處獲得爬取請求(Request)2Engine將爬取請求轉發給Scheduler,用于調度3 Engine從Sche
推薦度:
導讀scrapy爬蟲框架的介紹:介紹一下scrapy 爬蟲框架安裝方法 pip install scrapy 就可以實現安裝了。我自己用anaconda 命令為conda install scrapy。 1 Engine從Spider處獲得爬取請求(Request)2Engine將爬取請求轉發給Scheduler,用于調度3 Engine從Sche
介紹一下scrapy 爬蟲框架

安裝方法 pip install scrapy 就可以實現安裝了。我自己用anaconda 命令為conda install scrapy。

1 Engine從Spider處獲得爬取請求(Request)
2Engine將爬取請求轉發給Scheduler,用于調度

3 Engine從Scheduler處獲得下一個要爬取的請求
4 Engine將爬取請求通過中間件發送給Downloader
5 爬取網頁后,Downloader形成響應(Response)通過中間件發給Engine
6 Engine將收到的響應通過中間件發送給Spider處理Engine將爬取請求轉發給Scheduler,用于調度

7 Spider處理響應后產生爬取項(scraped Item)
和新的爬取請求(Requests)給Engine
8 Engine將爬取項發送給Item Pipeline(框架出口)
9 Engine將爬取請求發送給Scheduler

Engine控制各模塊數據流,不間斷從Scheduler處
獲得爬取請求,直至請求為空
框架入口:Spider的初始爬取請求
框架出口:Item Pipeline

Engine
(1) 控制所有模塊之間的數據流
(2) 根據條件觸發事件
不需要用戶修改

Downloader
根據請求下載網頁
不需要用戶修改

Scheduler
對所有爬取請求進行調度管理
不需要用戶修改

Downloader Middleware
目的:實施Engine、Scheduler和Downloader
之間進行用戶可配置的控制
功能:修改、丟棄、新增請求或響應
用戶可以編寫配置代碼

Spider
(1) 解析Downloader返回的響應(Response)
(2) 產生爬取項(scraped item)
(3) 產生額外的爬取請求(Request)
需要用戶編寫配置代碼

Item Pipelines
(1) 以流水線方式處理Spider產生的爬取項
(2) 由一組操作順序組成,類似流水線,每個操
作是一個Item Pipeline類型
(3) 可能操作包括:清理、檢驗和查重爬取項中
的HTML數據、將數據存儲到數據庫
需要用戶編寫配置代碼

了解了基本概念之后我們開始寫第一個scrapy爬蟲吧。

首先要新建一個爬蟲項目scrapy startproject xxx(項目名)

這個爬蟲就簡單的爬取一個小說網站的書名與作者吧。

我們現在創建了爬蟲項目book現在來編輯他的配置

二級book目錄下這些就是配置文件上面已經介紹過了,在修改這些之前

我們現在一級book目錄下創建一個start.py 來用于scrapy爬蟲能在IDE里

面運行。文件里面寫下如下代碼。

前兩個參數是固定的,第三個參數是你spider的名字

接下來我們就在items里面填寫字段:

然后在spider中創建爬蟲主程序book.py

我們要爬取的網站為

通過點擊網站不同種類小說會發現網站地址是+小說種類拼音.html

通過這個我們來寫讀取網頁的內容

得到這個之后我們通過parse 函數來解析所獲取的網頁并提取所需信息。

網頁分析提取數據是通過BeautifulSoup庫來的,這里就略了。自己分析2333~

程序寫好我們要存儲所爬取的信息就要編輯Pipelines.py 了

這里提供兩個保存方式

1保存為txt文本

2 存入數據庫

要讓這個成功運行我們還需要在setting.py中配置

ITEM_PIPELINES = { 'book.pipelines.xxx': 300,}
xxx為存儲方法的類名,想用什么方法存儲就改成那個名字就好運行結果沒什么看頭就略了
第一個爬蟲框架就這樣啦期末忙沒時間繼續完善這個爬蟲之后有時間將這個爬蟲完善成把小說內容等一起爬下來的程序再來分享一波。
附一個book的完整代碼:
import scrapyfrom bs4 import BeautifulSoupfrom book.items import BookItemclass Bookspider(scrapy.Spider):
 name = 'book' #名字
 allowed_domains = ['book.km.com'] #包含了spider允許爬取的域名(domain)列表(list)
 zurl=''def start_requests(self):
 D=['jushi','xuanhuan'] #數組里面包含了小說種類這里列舉兩個有需要可以自己添加for i in D: #通過循環遍歷
  url=self.zurl+i+'.html'yield scrapy.Request(url, callback=self.parse)

 def parse(self, response):
 imf=BeautifulSoup(response.text,'lxml')
 b=imf.find_all('dl',class_='info')for i in b:
  bookname=i.a.stringauthor = i.dd.span.stringitem = BookItem()
  item['name'] = bookname
  item['author'] = authoryield item


聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

scrapy爬蟲框架的介紹

scrapy爬蟲框架的介紹:介紹一下scrapy 爬蟲框架安裝方法 pip install scrapy 就可以實現安裝了。我自己用anaconda 命令為conda install scrapy。 1 Engine從Spider處獲得爬取請求(Request)2Engine將爬取請求轉發給Scheduler,用于調度3 Engine從Sche
推薦度:
標簽: 一個 介紹 咸魚
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
国产精品久久久久精品…-国产精品可乐视频最新-亚洲欧美重口味在线-欧美va免费在线观看