05 scrapy框架使用

2022-09-09 20:21:28 字數 2409 閱讀 1686

settings.py:工程的配置檔案

2.cd proname(進入專案)

3.建立爬蟲原始檔:

4.執行工程

5.配置settings.py:

2.指定日誌型別

3.ua偽裝

執行指令:scrapy crawl spidername -o filepath (scrapy crawl duanzi -o duanzi.json)

中文亂碼問題

2.在items.py中定義相關屬性

3.在爬蟲檔案中將解析到的資料儲存封裝到item型別的物件中

4.將item型別的物件提交給管道

5.在管道檔案(pipelines.py)中,接收爬蟲檔案提交過來的item型別物件,且對其進行任意形式的持久化儲存操作

6.在配置檔案中開啟管道機制

1. 將資料存到txt檔案中的管道編寫

class duanzipropipeline:

# 保證檔案只開啟一次檔案,需要重寫父類的乙個方法

fp = none

def open_spider(self, spider):

print('我是open_spider,我只會在爬蟲開始的時候只執行一次')

self.fp = open('duanzi.txt', 'w', encoding='utf-8')

# 關閉檔案,也是只有一次

def close_spider(self, spider):

print('我是close_spider,我只會在爬蟲結束的時候只執行一次')

self.fp.close()

# 該方法用來接收item物件的, 一次只能接收乙個item, 該方法會被呼叫多次

# 引數item:就是接收到的item物件

def process_item(self, item, spider):

# print(item) # item就是乙個字典

# 將item儲存到文字檔案中

self.fp.write(item['title']+':'+ item['content']+'\n')

return item

2. 將資料存到mysql中的管道編寫
#將資料儲存到mysql中

class mysqlpileline(object):

conn = none

cursor = none

def open_spider(self,spider):

self.conn = pymysql.connect(host='127.0.0.1',port=3306,user='root',password='521221',db='spider',charset='utf8')

print(self.conn)

def process_item(self,item,spider):

self.cursor = self.conn.cursor()

sql = 'insert into duanzi values ("%s","%s")'%(item['title'], item['content'])

# 事務處理

try:

self.cursor.execute(sql)

self.conn.commit()

except exception as e:

print(e)

self.conn.rollback()

return item

def close_spider(self,spider):

self.cursor.close()

self.conn.close()

3. 將資料存到redis中的管道編寫
#將資料寫入redis

class redispileline(object):

conn = none

def open_spider(self,spider):

self.conn = redis(host='127.0.0.1',port=6379)

print(self.conn)

def process_item(self,item,spider):

#報錯:將redis模組的版本指定成2.10.6即可。pip install -u redis==2.10.6

self.conn.lpush('duanzidata',item)

4.setting.py 中給管道開啟並設定優先順序
item_pipelines =
注意: 爬蟲檔案提交到管道的item是先給優先順序最高的管道類使用,等到其使用完後需要返回return item給下乙個管道類使用,不是併發的。

05 Scrapy 框架基礎

scrapy是什麼?參考 06 scrapy配置安裝及入門案例 架構圖涉及三個物件和七個模組 開發過程中,scrapy的使用 主要需要自己手寫的內容是 spider 和 item pipline 兩個模組,middlewares 和 spider middlewares偶爾肯能會需要手寫.scrap...

Mooc爬蟲05 scrapy框架

1 scrapy框架的介紹安裝 pip install scrapy檢視是否安裝完成 scrapy hscrapy框架是實現爬蟲功能的乙個軟體結構和功能元件集合 scrapy爬蟲框架的結構 這5 2的結構,就是scrapy框架 主要有三條主要的資料流路徑 第一條路徑 1 engine通過中介軟體獲得...

scrapy框架基本使用

進入工程目錄 建立爬蟲檔案 編寫爬蟲檔案 執行工程 allow domains 允許的網域名稱 parse self,response scrapy工程預設是遵守robots協議的,需要在配置檔案中進行操作。基於管道 3.將在爬蟲檔案中解析的資料儲存封裝到item物件中 4.將儲存了解析資料的ite...