这是我的蜘蛛
from scrapy.spider import BaseSpider
from scrapy.selector import Selector
from sample1.items import ppppkartItem
class ppppkartSpider(BaseSpider):
name = "ppppkart"
allowed_domains = ["ppppkart.com"]
start_urls = ["http://www.ppppkart.com/mobilesotracker=nmenu_sub_electronics_0_Mobiles"]
def parse(self, xmlresponse):
sel = Selector(xmlresponse)
sites = sel.xpath('//html/body/div/div[2]/div/div[2]/div[2]/div/div[2]')
items = []
for site in sites:
item = ppppkartItem()
item['image'] = site.xpath('.//a/img/@src').extract()
item['price'] = site.xpath('.//span/text()').extract()
item['title'] = site.xpath('.//a/text()').extract()
item['link'] = site.xpath('.//a/@href').extract()
items.append(item)
return items
这是我的项目
`
from scrapy.item import Item, Field
class ppppkartItem(Item):
price = Field()
title = Field()
link = Field()
image = Field()
这是我的结果
[{"image": ["http://img8a.ppppcart.com/image/mobile/q/f/r/apple-iphone-5c-imadpnhyw2qnxkh5.jpeg", "http://img7a.ppppcart.com/image/mobile/j/z/n/htc-one-max-imadqrqeyceghdba.jpeg",
整个结果是单行,我需要列式结果我能做什么..提前谢谢
我希望结果像
image:img result; price:price result; title:title result; link:link result;
image:2nd img result; price:2nd price result; title:2nd title result; link:2nd link result;
答案 0 :(得分:0)
执行此任务的方法很少:
您可以使用Scrapy构建if功能将项目输出到csv:
scrapy crawl [你的蜘蛛名] -o items.csv -t csv
有关详细信息,请参阅此处:http://doc.scrapy.org/en/latest/topics/feed-exports.html#topics-feed-exports
您可以创建自己的管道并使用项目导出器。然后你就可以更好地控制项目的内容,即你可以删除一些项目等。有关这两个主题的更多信息,请阅读:http://doc.scrapy.org/en/latest/topics/item-pipeline.html和http://doc.scrapy.org/en/latest/topics/exporters.html