Scrapy可以通過Pipeline來導(dǎo)出數(shù)據(jù),通過ItemLoader來導(dǎo)入數(shù)據(jù)。
導(dǎo)出數(shù)據(jù):
ITEM_PIPELINES = {
'myproject.pipelines.MyPipeline': 300,
}
class MyPipeline:
def process_item(self, item, spider):
# 處理item數(shù)據(jù),可以將數(shù)據(jù)保存到文件或數(shù)據(jù)庫(kù)中
return item
導(dǎo)入數(shù)據(jù):
import scrapy
class MyItem(scrapy.Item):
name = scrapy.Field()
age = scrapy.Field()
from scrapy.loader import ItemLoader
from myproject.items import MyItem
def parse(self, response):
loader = ItemLoader(item=MyItem(), response=response)
loader.add_xpath('name', '//div[@class="name"]/text()')
loader.add_xpath('age', '//div[@class="age"]/text()')
yield loader.load_item()
以上就是通過Scrapy導(dǎo)入和導(dǎo)出數(shù)據(jù)的簡(jiǎn)單示例。您可以根據(jù)需要修改和擴(kuò)展這些示例來實(shí)現(xiàn)更復(fù)雜的數(shù)據(jù)導(dǎo)入和導(dǎo)出功能。