Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Scrapy JSON输出-值为空_Python_Json_Scrapy - Fatal编程技术网

Python Scrapy JSON输出-值为空

Python Scrapy JSON输出-值为空,python,json,scrapy,Python,Json,Scrapy,我想用scrapy抓取一组网页。但是,当我尝试将一些值写入json文件时,这些字段不会显示 这是我的密码: import scrapy class LLPubs (scrapy.Spider): name = "linlinks" start_urls = [ 'http://www.linnaeuslink.org/records/record/1', 'http://www.linnaeuslink.org/records/record/2'

我想用scrapy抓取一组网页。但是,当我尝试将一些值写入json文件时,这些字段不会显示

这是我的密码:

import scrapy

class LLPubs (scrapy.Spider):
    name = "linlinks"
    start_urls = [
        'http://www.linnaeuslink.org/records/record/1',
        'http://www.linnaeuslink.org/records/record/2',
    ]

    def parse(self, response):
        for container in response.css('div.item'):
            yield {
                'text': container.css('div.field.soulsbyNo .value span::text').extract(),
                'uniformtitle': container.css('div.field.uniformTitle .value span::text').extract(),
                'title': container.css('div.field.title .value span::text').extract(),
                'opac': container.css('div.field.localControlNo .value span::text').extract(),
                'url': container.css('div#digitalLinks li a').extract(),
                'partner': container.css('div.logoContainer  img:first-child').xpath('@src').extract(),
                }
以及我的输出示例:

{
"text": ["Soulsby no. 46(1)"], 
"uniformtitle": ["Systema naturae"], 
"title": ["Caroli Linn\u00e6i ... Systema natur\u00e6\nin quo natur\u00e6 regna tria, secundum classes, ordines, genera, species, systematice proponuntur."], 
"opac": ["002178079"], 
"url": [], 
"partner": []
},
我希望我正在做一些愚蠢和容易修复的事情!我用于“url”和“partner”的两个路径都是从这里开始工作的:

scrapy shell 'http://www.linnaeuslink.org/records/record/1'
所以,我不知道我错过了什么

哦,现在使用以下命令导出为json:

scrapy crawl linlinks -o quotes.json

谢谢你的帮助

问题似乎是这些选择器在任何
div.item
中都不“可查找”,您可能在没有
response.css('div.item')的情况下验证了它们
要复制您在shell中使用的内容,只需将
容器.css
替换为
url
合作伙伴
键的
响应.css

就是这样!非常感谢你。我试图找出如何瞄准它,这是有意义的,我必须使用更高级别的选择器。。。或者你做了什么。