NO.1_python_scrapy组成爬取多页数据连接数据库配置文件书写
生活随笔
收集整理的這篇文章主要介紹了
NO.1_python_scrapy组成爬取多页数据连接数据库配置文件书写
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
scrapy框架組成及各部分作用
item pipelines:
用于存放需要存儲數據的數據模型,一般格式為:
#需要存儲多少中類型的數據就寫多少行,一般是key_value組合 '數據名稱,即·key' = scrapy.Field()spiders
用于解析返回來的response
import scrapy from 項目名稱.items import QSBKItem #QSBKItem 在items.py中的一個類,裝有數據模型 ...... item = QSBKItem('字典中對應的key'='items.py中對應的模型名稱') #返回item,item是一個字典的形式,將item返回給了engine yield itemengine
爬蟲引擎,作為各個模塊的中轉站
pipelines
用于存儲和過濾由spider爬取回來的數據,比如可以將數據存入數據庫中等等
#這個函數是一定需要的,用于接收返回過來的item數據,并且執行保存和過濾數據的操作 def process_item(self,item,spider):...... #可有可無,在打開爬蟲時運行的函數,一般是在需要爬蟲在打開時執行某些操作時才需要該函數 def open_spider(self,spider):...... #可有可無,在關閉爬蟲時運行的函數,一般是在需要爬蟲在關閉時執行某些操作時才需要該函數 def close_spider(self,spider):......Download
用于執行spider發出的網頁請求,并且從網頁中進行下載
scheduler
用于調度,如調度多url的請求,重復url的處理等
爬取多頁數據
self.p += 1 if self.p <= 10:next_url = 'https://edu.csdn.net/courses/o280/p'+str(self.p)url = response.urljoin(next_url)#創建絕對url地址#再次調用parse函數來進行解析next_urlyield scrapy.Request(url = url,callback = self.parse)連接數據庫的配置文件書寫
ITEM_PIPELINES = {#后面的數字越小執行的順序越靠前,是自動生成的educsdn.pipelines.Edu .... = 300,educsdn.mysqlines.Edu .... = 301 }MYSQL_HOST='localhost'MYSQL_DATABASE = '數據庫的名稱'MYSQL_USER = '用戶名'MYSQL_PASS = '密碼'MYSQL_PORT = '端口'#一般為3306總結
以上是生活随笔為你收集整理的NO.1_python_scrapy组成爬取多页数据连接数据库配置文件书写的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: html颜色自定义器,可自定义颜色的jQ
- 下一篇: Erlang注册进程名称-tut16.e