2019-03-22 Python Scrapy 入門教程 筆記

Python Scrapy 入門教程 

入門教程筆記:

# 建立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項目
  • 定義提取的結構化數據(Item)
  • 編寫爬取網站的 Spider 並提取出結構化數據(Item)
  • 編寫 Item Pipelines 來存儲提取到的Item(即結構化數據)

 

 

  • 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)網站

相關文章
相關標籤/搜索