scrapy框架是什么:
scrapy是用純Python實(shí)現(xiàn)的一個(gè)為了爬去網(wǎng)站數(shù)據(jù),提取結(jié)構(gòu)數(shù)據(jù)而編寫的應(yīng)用框架.
scrapy框架的工作流程:#個(gè)個(gè)模塊之間的作用:
Scrapy Engine(引擎): 負(fù)責(zé)Spider、ItemPipeline、Downloader俊戳、Scheduler中間的通訊汉柒,信號(hào)、數(shù)據(jù)傳遞等崎脉。
Scheduler(調(diào)度器): 它負(fù)責(zé)接受引擎發(fā)送過來的Request請(qǐng)求,并按照一定的方式進(jìn)行整理排列,入隊(duì)蜕衡,當(dāng)引擎需要時(shí),交還給引擎设拟。
Downloader(下載器):負(fù)責(zé)下載Scrapy ##Engine(引擎)發(fā)送的所有Requests請(qǐng)求慨仿,并將其獲取到的Responses交還給Scrapy ##Engine(引擎),由引擎交給Spider來處理纳胧,
Spider(爬蟲):它負(fù)責(zé)處理所有Responses,從中分析提取數(shù)據(jù)镰吆,獲取Item字段需要的數(shù)據(jù),并將需要跟進(jìn)的URL提交給引擎跑慕,再次進(jìn)入Scheduler(調(diào)度器)万皿,
Item Pipeline(管道):它負(fù)責(zé)處理Spider中獲取到的Item,并進(jìn)行進(jìn)行后期處理(詳細(xì)分析核行、過濾牢硅、存儲(chǔ)等)的地方.
Downloader Middlewares(下載中間件):你可以當(dāng)作是一個(gè)可以自定義擴(kuò)展下載功能的組件。
#Spider Middlewares(Spider中間件):你可以理解為是一個(gè)可以自定擴(kuò)展和操作引擎和##Spider中間通信的功能組件(比如進(jìn)入Spider的Responses;和從Spider出去的Requests)
介紹完了scrapy的工作流程之后我們就可以開始爬蟲項(xiàng)目了!!
1:新建一個(gè)項(xiàng)目: scapy startproject 我的爬蟲名稱
項(xiàng)目新建完成之后我們要進(jìn)入spider文件下再創(chuàng)建你的爬蟲文件, scrapy genspider 爬蟲文件名稱 爬蟲域
創(chuàng)建完了項(xiàng)目之后我們就可一制作我們的爬蟲了打開我們創(chuàng)建的爬蟲文件,我們可以看到默認(rèn)代碼如下:
-- coding: utf-8 --
import scrapy
class JobboleSpider(scrapy.Spider):
name = '爬蟲名稱'
allowed_domains = ['默認(rèn)域']
start_urls = ['起始URL']
def parse(self, response):
pass
再然后就可以直接使用選擇器進(jìn)行獲取數(shù)據(jù)了
scrapy框架是什么:
scrapy是用純Python實(shí)現(xiàn)的一個(gè)為了爬去網(wǎng)站數(shù)據(jù),提取結(jié)構(gòu)數(shù)據(jù)而編寫的應(yīng)用框架.
scrapy框架的工作流程:#個(gè)個(gè)模塊之間的作用:
Scrapy Engine(引擎): 負(fù)責(zé)Spider芝雪、ItemPipeline减余、Downloader、Scheduler中間的通訊惩系,信號(hào)位岔、數(shù)據(jù)傳遞等。
Scheduler(調(diào)度器): 它負(fù)責(zé)接受引擎發(fā)送過來的Request請(qǐng)求堡牡,并按照一定的方式進(jìn)行整理排列抒抬,入隊(duì),當(dāng)引擎需要時(shí)晤柄,交還給引擎擦剑。
Downloader(下載器):負(fù)責(zé)下載Scrapy ##Engine(引擎)發(fā)送的所有Requests請(qǐng)求,并將其獲取到的Responses交還給Scrapy ##Engine(引擎),由引擎交給Spider來處理抓于,
Spider(爬蟲):它負(fù)責(zé)處理所有Responses,從中分析提取數(shù)據(jù)做粤,獲取Item字段需要的數(shù)據(jù),并將需要跟進(jìn)的URL提交給引擎捉撮,再次進(jìn)入Scheduler(調(diào)度器)怕品,
Item Pipeline(管道):它負(fù)責(zé)處理Spider中獲取到的Item,并進(jìn)行進(jìn)行后期處理(詳細(xì)分析巾遭、過濾肉康、存儲(chǔ)等)的地