1
假設存在具有以下json結構的產品,即具有多個要鏈接的鏈接的產品。如何在scrapy中加入解析()結果
[
{
"id": "888",
"suppliers": {
"shop1": {
"url": "http://www.example1.com./item1",
"price": "19.99",
},
"shop2": {
"url": "http://www.example2.com./item2",
"price": "29.95",
}
}
}
]
我正在使用Scrapy來抓取這兩個網站並更新價格。 除了Scrapy分別返回兩個結果外,一切正常。
如何「結合」來自兩個鏈接的結果?即在一條線上形成像上述json結構一樣的單個物體?
這是我正在使用的現有片段。任何幫助將不勝感激。
class ProductSpider(Spider):
name = "productspider"
allowed_domains = ['example1.com', 'example2.com']
start_urls = ['http://www.example1.com./item1', 'http://www.example2.com./item2']
def parse(self, response):
item = ProductItem()
item['id'] = '888'
item['suppliers'] = {'shop1':'', 'shop2':''}
if (response.meta['download_slot'] == 'www.example1.com'):
parse_example1_page() # and assign it to item shop1
if (response.meta['download_slot'] == 'www.example2.com'):
parse_example2_page() # and assign it to item shop2
yield item
難道只有你們兩個需要訪問,形成一個項目的URL,或者你需要無限擴展呢?謝謝。 – alecxe 2015-02-10 01:09:20
爲了簡單起見,我使用了兩個網址,可能最多爲10個或其他任意數字 – Chung 2015-02-10 01:11:46
好的,您事先知道所有的網址,它們都保存在'start_urls'裏面,對嗎?謝謝。 – alecxe 2015-02-10 01:13:46