0
私はScrapy:XPathのエラー://メディアに無効な表現:コンテンツ
<item>
<title>BPS: Kartu Bansos Bantu Turunkan Angka Gini Ratio</title>
<media:content url="/image.jpg" expression="full" type="image/jpeg"/> </item>
以下のような項目でニュースサイトのRSSフィードからコンテンツを抽出したいが、メディアのようなタグで情報を解析するときにエラーが発生: XPathのようなitem.xpath使用してコンテンツ( '//メディア:コンテンツ')
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "/usr/local/lib/python2.7/site-packages/parsel/selector.py", line 183, in xpath
six.reraise(ValueError, ValueError(msg), sys.exc_info()[2])
File "/usr/local/lib/python2.7/site-packages/parsel/selector.py", line 179, in xpath
smart_strings=self._lxml_smart_strings)
File "src/lxml/lxml.etree.pyx", line 1587, in lxml.etree._Element.xpath (src/lxml/lxml.etree.c:57923)
File "src/lxml/xpath.pxi", line 307, in lxml.etree.XPathElementEvaluator.__call__ (src/lxml/lxml.etree.c:167084)
File "src/lxml/xpath.pxi", line 227, in lxml.etree._XPathEvaluatorBase._handle_result (src/lxml/lxml.etree.c:166043)
ValueError: XPath error: Undefined namespace prefix in //media:content
は誰も私が何をすべきか知っていますか?あなたはmedia
接頭辞を名前空間XPathを伝える必要があり感謝:)
Scrapyセレクタの '.xpath()' '' lxml'がないようnamespaces'引数を受け付けません(ただし、あります[オープンPR](https://github.com/scrapy/parsel/プル/ 45)。セレクタの[.register_namespace(prefix、namespace) '](https://parsel.readthedocs.io/en/latest/usage.html#parsel.selector.Selector.register_namespace)を事前に呼び出さなければなりません。 –
@paultrmbrth thx、私はこれがlxmlのxpath()ではないことを認識していませんでした。スタックトレースを近づけてみたはずです...参考に感謝します。私の答えを修正しました – mata
ありがとう@mata、 – NGloom