美文网首页我爱编程
scrapy-3.items并存入csv/json

scrapy-3.items并存入csv/json

作者: ddm2014 | 来源:发表于2018-06-17 21:22 被阅读0次

    如果只是把数据打印出来,还是有些不太够用,scrapy还提供了各种存储途径。
    items我觉得有点像pandas里的列,名字就是列名。items文件已经写好框架只要把你需要爬取的名字加进去就好。

    import scrapy
    
    class ZdmItem(scrapy.Item):
        # define the fields for your item here like:
        name = scrapy.Field()
        price = scrapy.Field()
        # pass
    

    然后更改spider程序。

    import scrapy
    from pyquery import PyQuery as pq
    #导入items
    from zdm.items import ZdmItem  
    
    class SmzdmCrawler(scrapy.Spider):
        name = 'smzdm'
        start_urls = ['https://faxian.smzdm.com/']
    
        def parse(self, response):
            res = pq(response.body)
            for item in res('.feed-block-ver').items():
                yield scrapy.Request(item('a').attr('href'),self.parse_detail)
    
        def parse_detail(self,response):
            res = pq(response.body)
            #导入item,添加内容
            zdmitem = ZdmItem()           
            zdmitem['name'] = res('.article_title em').eq(0).text()
            zdmitem['price'] = res('.article_title span').text()
            yield zdmitem
    
    

    更改之处为导入item和把原本print的部分放入到item里去。

    然后就可以存到json,csv等格式了。
    只需要在terminal里输入
    scrapy crawl smzdm -o smzdm.csv
    scrapy crawl smzdm -o smzdm.json
    就存好了

    相关文章

      网友评论

        本文标题:scrapy-3.items并存入csv/json

        本文链接:https://www.haomeiwen.com/subject/rqxgeftx.html