Python Scrapy JSON输出-值为空
我想用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'
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
。就是这样!非常感谢你。我试图找出如何瞄准它,这是有意义的,我必须使用更高级别的选择器。。。或者你做了什么。