国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Scrapy爬蟲入門教程十

2019-11-06 06:03:09
字體:
來源:轉載
供稿:網友

簡單的Python版本管理:pyenv Scrapy爬蟲入門教程一 Scrapy爬蟲入門教程二 Scrapy爬蟲入門教程三 Scrapy爬蟲入門教程四 Scrapy爬蟲入門教程五 Scrapy爬蟲入門教程六 Scrapy爬蟲入門教程七 Scrapy爬蟲入門教程八 Scrapy爬蟲入門教程九

導出文件序列化格式JSONJSON linesCSVxmlPickleMarshal存儲存儲URI參數存儲后端本地文件系統FTPS3標準輸出設置FEED_URIFEED_FORMATFEED_EXPORT_ENCODINGFEED_EXPORT_FIELDSFEED_STORE_EMPTYFEED_STORAGES_BASEFEED_EXPORTERSFEED_EXPORTERS_BASE

開發環境: Python 3.6.0 版本 (當前最新) Scrapy 1.3.2 版本 (當前最新)

導出文件

新版本0.10。

實現爬蟲時最常需要的特征之一是能夠正確地存儲所過濾的數據,并且經常意味著使用被過濾的數據(通常稱為“export feed”)生成要由其他系統消耗的“導出文件” 。

Scrapy使用Feed導出功能即時提供此功能,這允許您使用多個序列化格式和存儲后端來生成包含已抓取項目的Feed。

序列化格式

為了序列化抓取的數據,Feed導出使用項導出器。這些格式是開箱即用的:

JSONJSON linesCSVXML

但您也可以通過FEED_EXPORTERS設置擴展支持的格式 。

JSON

FEED_FORMAT: json使用出口: JsonItemExporter如果您對大型Feed使用JSON,請參閱此警告。

JSON lines

FEED_FORMAT: jsonlines使用出口: JsonLinesItemExporter

CSV

FEED_FORMAT: csv使用出口: CsvItemExporter指定要導出的列及其順序使用 FEED_EXPORT_FIELDS。其他Feed導出程序也可以使用此選項,但它對CSV很重要,因為與許多其他導出格式不同,CSV使用固定標頭。

XML

FEED_FORMAT: xml使用出口: XmlItemExporter

Pickle

FEED_FORMAT: pickle使用出口: PickleItemExporter

Marshal

FEED_FORMAT: marshal使用出口: MarshalItemExporter

存儲

使用Feed導出時,您可以使用URI(通過FEED_URI設置)定義在哪里存儲Feed 。Feed導出支持由URI方案定義的多個存儲后端類型。

支持開箱即用的存儲后端包括:

本地文件系統FTPS3(需要 botocore或 boto)標準輸出

如果所需的外部庫不可用,則某些存儲后端可能無法使用。例如,S3后端僅在安裝了botocore 或boto庫時可用(Scrapy僅支持boto到Python 2)。


存儲URI參數

存儲URI還可以包含在創建訂閱源時被替換的參數。這些參數是:

%(time)s - 在創建訂閱源時由時間戳替換%(name)s - 被蜘蛛名替換

任何其他命名參數將替換為同名的spider屬性。例如, 在創建訂閱源的那一刻,%(site_id)s將被spider.site_id屬性替換。

這里有一些例子來說明:

存儲在FTP中使用每個蜘蛛一個目錄: ftp://user:passWord@ftp.example.com/scraping/feeds/%(name)s/%(time)s.json存儲在S3使用每個蜘蛛一個目錄: s3://mybucket/scraping/feeds/%(name)s/%(time)s.json

存儲后端

本地文件系統

訂閱源存儲在本地文件系統中。

URI方案: file 示例URI: file:///tmp/export.csv 所需的外部庫:none 請注意,(僅)對于本地文件系統存儲,如果指定絕對路徑,則可以省略該方案/tmp/export.csv。這只適用于Unix系統。

FTP

訂閱源存儲在FTP服務器中。

URI方案: ftp示例URI: ftp://user:pass@ftp.example.com/path/to/export.csv所需的外部庫:none

S3

訂閱源存儲在Amazon S3上。

URI方案: s3示例URI: s3://mybucket/path/to/export.csvs3://aws_key:aws_secret@mybucket/path/to/export.csv所需的外部庫:botocore或boto

AWS憑證可以作為URI中的用戶/密碼傳遞,也可以通過以下設置傳遞:

AWS_access_KEY_IDAWS_SECRET_ACCESS_KEY

標準輸出

Feed被寫入Scrapy進程的標準輸出。

URI方案: stdout示例URI: stdout:所需的外部庫:none

設置

這些是用于配置Feed導出的設置:

FEED_URI (強制性)FEED_FORMATFEED_STORAGESFEED_EXPORTERSFEED_STORE_EMPTYFEED_EXPORT_ENCODINGFEED_EXPORT_FIELDS

FEED_URI

默認: None

導出Feed的URI。請參閱支持的URI方案的存儲后端。

啟用Feed導出時需要此設置。

FEED_FORMAT

要用于Feed的序列化格式。有關可能的值,請參閱 序列化格式。

FEED_EXPORT_ENCODING

默認: None

要用于Feed的編碼。

如果取消設置或設置為None(默認),它使用UTF-8除了JSON輸出,/uXXXX由于歷史原因使用安全的數字編碼(序列)。

使用utf-8,如果你想UTF-8 JSON了。

FEED_EXPORT_FIELDS

默認: None

要導出的字段的列表,可選。示例:。FEED_EXPORT_FIELDS = [“foo”, “bar”, “baz”]

使用FEED_EXPORT_FIELDS選項定義要導出的字段及其順序。

當FEED_EXPORT_FIELDS為空或無(默認)時,Scrapy使用在Item蜘蛛正在產生的dicts 或子類中定義的字段。

如果導出器需要一組固定的字段(CSV導出格式為這種情況 ),并且FEED_EXPORT_FIELDS為空或無,則Scrapy會嘗試從導出的??數據中推斷字段名稱 - 當前它使用第一個項目中的字段名稱。

FEED_STORE_EMPTY

默認: False

是否導出空Feed(即,沒有項目的Feed)。

FEED_STORAGES 默認: {}

包含您的項目支持的其他Feed存儲后端的字典。鍵是URI方案,值是存儲類的路徑。

FEED_STORAGES_BASE

默認:

{ '': 'scrapy.extensions.feedexport.FileFeedStorage', 'file': 'scrapy.extensions.feedexport.FileFeedStorage', 'stdout': 'scrapy.extensions.feedexport.StdoutFeedStorage', 's3': 'scrapy.extensions.feedexport.S3FeedStorage', 'ftp': 'scrapy.extensions.feedexport.FTPFeedStorage',}

包含Scrapy支持的內置Feed存儲后端的字典。您可以通過分配其中None的URI方案 來禁用這些后端FEED_STORAGES。例如,要禁用內置FTP存儲后端(無替換),請將其放置在settings.py:

FEED_STORAGES = { 'ftp': None,}

FEED_EXPORTERS

默認: {}

包含您的項目支持的其他導出器的字典。鍵是序列化格式,值是Item exporter類的路徑。

FEED_EXPORTERS_BASE

默認:

{ 'json': 'scrapy.exporters.JsonItemExporter', 'jsonlines': 'scrapy.exporters.JsonLinesItemExporter', 'jl': 'scrapy.exporters.JsonLinesItemExporter', 'csv': 'scrapy.exporters.CsvItemExporter', 'xml': 'scrapy.exporters.XmlItemExporter', 'marshal': 'scrapy.exporters.MarshalItemExporter', 'pickle': 'scrapy.exporters.PickleItemExporter',}

一個包含Scrapy支持的內置feed導出器的dict。您可以通過分配其中None的序列化格式來禁用任何這些導出器FEED_EXPORTERS。例如,要禁用內置的CSV導出器(無替換),請將其放置在settings.py:

FEED_EXPORTERS = { 'csv': None,}
上一篇:strncmp函數

下一篇:Cmake

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 乐安县| 收藏| 十堰市| 疏附县| 博白县| 思南县| 高台县| 安顺市| 衡山县| 丹寨县| 彰化市| 沾化县| 临泽县| 蓬安县| 固始县| 宣汉县| 建昌县| 广饶县| 永川市| 双鸭山市| 宁都县| 舟山市| 花莲市| 浦北县| 拉萨市| 靖安县| 富宁县| 拜泉县| 泽库县| 乐陵市| 曲周县| 河源市| 青川县| 柳州市| 宜君县| 若尔盖县| 石阡县| 华容县| 贵南县| 三都| 濮阳县|