【问题标题】:Scrapy errors with "view" and OAI-PMH“视图”和 OAI-PMH 的 Scrapy 错误
【发布时间】:2013-12-30 00:30:28
【问题描述】:

我正在使用 scrapy 从使用 OAI-PMH framework 的存档中爬取 this XML data。我对 OAI-PMH 如何影响 Scrapy 并不是非常熟悉,但是当我使用以下命令时似乎存在问题:

scrapy view http://fukushima.archive-disasters.jp/infolib/oai_repository/repository?verb=ListRecords&metadataPrefix=ndlkn

我的浏览器中没有打开网站,而是打开了一个记事本文件,其中包含以下内容:

    <?xml version="1.0" encoding="UTF-8" ?>
    <OAI-PMH xmlns="http://www.openarchives.org/OAI/2.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/ http://www.openarchives.org/OAI/2.0/OAI-PMH.xsd"> <responseDate>
    2013-12-30T00:11:45Z</responseDate>
    <request>http://fukushima.archive-disasters.jp/infolib/oai_repository/repository</request>
    <error code="badArgument">It is an inaccurate parameter.</error>

命令行会出现以下内容:

[default] INFO: Spider closed (finished)
'metadataPrefix' is not recognized as an internal or external command, operable program or batch file.

metadataPrefix 出现在 XML 中的唯一一次是在第 3 行:

<request metadataPrefix="ndlkn" verb="ListRecords">

有什么方法可以通过 Scrapy 的“查看”命令来使用这个网站?

另外,我也无法通过 scrapy shell 访问 XML 数据本身。在以前版本的scrapy 中,使用remove_namespaces() 之后,我可以使用sel.xpath('//record') 访问页面上的所有记录,但现在生成[] 并且我无法确定所需的正确xpath。

以下命令的外观如下:

scrapy shell http://fukushima.archive-disasters.jp/infolib/oai_repository/repository?verb=ListRecords&metadataPrefix=ndlkn

典型的scrapy输出,然后:

    >>> sel.remove_namespaces()
    >>> sel.xpath('//record')
    []
    >>> sel.xpath('//OAI-PMH')
    [<Selector xpath='//OAI-PMH' data=u'<OAI-PMH xmlns="http://www.openarchives.'>]
    >>> sel.xpath('//OAI-PMH/request')
    [<Selector xpath='//OAI-PMH/request' data=u'<request xmlns="http://www.openarchives.'>]
    >>> sel.xpath('//OAI-PMH/ListRecords')
    []

我需要使用哪些 xpath?

抱歉,问题太长了。我只是担心这两个问题是相互关联的,并且 OAI-PMH 在这里造成了问题。请让我知道我是否应该打破这个或任何其他方式我可以让它更清楚。

编辑:我觉得自己超级笨,但我意识到了问题所在。因为 URL 中有一个&amp;,所以在调用scrapy viewscrapy shell 后需要加引号或转义。这解决了我的两个问题!希望这对将来的任何人都有帮助。

【问题讨论】:

  • 您可以发布自己的答案并接受它,这样这个问题就显得已解决。
  • 是的,我昨晚试过了,但是因为我的声望不到 10,所以我不得不等待 8 个小时左右。所以现在已经结束了,但我要等到明天才能接受,哈哈。

标签: python xml xpath scrapy oai


【解决方案1】:

我意识到我的错误。因为 URL 中有一个&amp;,所以需要在scrapy viewscrapy shell 之后加引号或转义。这解决了我的两个问题!希望这对将来的任何人都有帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-05-06
    • 1970-01-01
    • 1970-01-01
    • 2018-07-06
    • 1970-01-01
    • 1970-01-01
    • 2016-04-25
    相关资源
    最近更新 更多