# 建立mySpider scrapy startproject mySpider # 建立itcast.py cd C:\Users\theDataDiggers\mySpider\mySpider\spiders scrapy genspider itcast "itcast.cn" # itcast(itcast.py name)---ItcastSpider(類名) #該類有3個強制的屬性,和一個解析的方法(屬性爲name allowed_domains start_urls) # 執行itcast.py scrapy crawl itcast scrapy crawl itcast -o teachers.csv #在沒有學習scrapy時,咱們是先請求數據,而後返回數據的 response=request.get(url) soup=BeautifulSoup(response.text,'lxml') soup.select() #學習了Scrapy後,發現 def parse(self,response): #自帶response,你能夠進行如下操做 response.body() response.xpath() #順便還複習了一下類的繼承 class ItcastSpider(scrapy.Spider): class ItcastItem(scrapy.Item): class MyspiderPipeline(object): #還有引用其它Python文件的類 from mySpider.items import ItcastItem
Scrapy Engine(引擎): 負責Spider、ItemPipeline、Downloader、Scheduler中間的通信,信號、數據傳遞等。html
Scheduler(調度器): 它負責接受引擎發送過來的Request請求,並按照必定的方式進行整理排列,入隊,當引擎須要時,交還給引擎。bash
Downloader(下載器):負責下載Scrapy Engine(引擎)發送的全部Requests請求,並將其獲取到的Responses交還給Scrapy Engine(引擎),由引擎交給Spider來處理,dom
Spider(爬蟲):它負責處理全部Responses,從中分析提取數據,獲取Item字段須要的數據,並將須要跟進的URL提交給引擎,再次進入Scheduler(調度器).scrapy
Item Pipeline(管道):它負責處理Spider中獲取到的Item,並進行進行後期處理(詳細分析、過濾、存儲等)的地方。ide
Downloader Middlewares(下載中間件):你能夠看成是一個能夠自定義擴展下載功能的組件。學習
Spider Middlewares(Spider中間件):你能夠理解爲是一個能夠自定擴展和操做引擎和Spider中間通訊的功能組件(好比進入Spider的Responses;和從Spider出去的Requests)網站