Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.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
获得;XPath错误:无效谓词";,尝试使用包含希腊字母的Xpath时_Xpath_Unicode_Scrapy - Fatal编程技术网

获得;XPath错误:无效谓词";,尝试使用包含希腊字母的Xpath时

获得;XPath错误:无效谓词";,尝试使用包含希腊字母的Xpath时,xpath,unicode,scrapy,Xpath,Unicode,Scrapy,从这个网页:我正在尝试构建一个爬虫程序,它将从∏εριχή:“字段”中提取“ακεΔεΔΓνα>αθ.αθα>Δ.Δοβρ” -->请参见该项目的屏幕截图: 见下文链接2 为了做到这一点,我打算使用XPath来关注“Μεροοχή:”然后使用下面的兄弟关键字来访问和提取文本“ΜακεεΔεεεΔνενα>Ν.Ημαθθας>Δ.Δοβρ”,因为包含它的td可以在其他网页中的不同位置(但总是在带有文本的tr之后)“ε∏ριοχή:”)甚至缺失。 见下文链接3 在scrapy shell中,我正在

从这个网页:我正在尝试构建一个爬虫程序,它将从∏εριχή:“字段”中提取“ακεΔεΔΓνα>αθ.αθα>Δ.Δοβρ”

-->请参见该项目的屏幕截图: 见下文链接2

为了做到这一点,我打算使用XPath来关注“Μεροοχή:”然后使用下面的兄弟关键字来访问和提取文本“ΜακεεΔεεεΔνενα>Ν.Ημαθθας>Δ.Δοβρ”,因为包含它的td可以在其他网页中的不同位置(但总是在带有文本的tr之后)“ε∏ριοχή:”)甚至缺失。 见下文链接3


在scrapy shell中,我正在测试以下内容:

x = response.xpath(u"//th[@text()=u'Περιοχή:']/text()").extract()
期望得到x=[u”εριοχή:“]

但我得到的却是一个错误:

ValueError: XPath error: Invalid predicate in //th[@text()=u'\u03a0\u03b5\u03c1\u03b9\u03bf\u03c7\u03ae:']/text()
我做错了什么


提前感谢。

您指定了两次unicode编码,不应该在xpath中指定,因为它已经是unicode字符串

i、 e

请注意,文本前面没有
u
,您也不需要@before
text()
,因为它是一个xpath函数而不是节点属性。

Link no.2:Link no.3:
# this:
u"//th[@text()=u'Περιοχή:']/text()"
# should be this:
u"//th[text()='Περιοχή:']/text()"