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
从Scrapy中的xpath选择器中删除div中的span_Xpath_Scrapy - Fatal编程技术网

从Scrapy中的xpath选择器中删除div中的span

从Scrapy中的xpath选择器中删除div中的span,xpath,scrapy,Xpath,Scrapy,我只需要在下面的html中提取19.10的值,但我的xpath不起作用。提前谢谢 <div class="class1">19.10 <span class="class2"><br></span> </div> 结果: [u'19.10\n\t\t\t\t\t\t\t', u'\n\t\t\t\t\t\t'] 您希望在此处获取第一个文本元素。这样做的方法很少。使用xpath: "/div[@class='class

我只需要在下面的html中提取19.10的值,但我的xpath不起作用。提前谢谢

<div class="class1">19.10
        <span class="class2"><br></span>
</div>
结果:

[u'19.10\n\t\t\t\t\t\t\t', u'\n\t\t\t\t\t\t']

您希望在此处获取第一个文本元素。这样做的方法很少。使用xpath:

"/div[@class='class1'][not(preceding::span[@class='class2'])]/text()[1]"
或使用后处理:

# just first element
response.xpath("xpath").extract_first()
或者,如果您熟悉物品装载机:

from scrapy.loader.processors import TakeFirst
from scrapy.loader import ItemLoader
class MyItemLoader(ItemLoader):
    myfield_out = TakeFirst()
ml = MyItemLoader()
ml.add_xpath('myfield', 'xpath')

您希望在此处获取第一个文本元素。这样做的方法很少。使用xpath:

"/div[@class='class1'][not(preceding::span[@class='class2'])]/text()[1]"
或使用后处理:

# just first element
response.xpath("xpath").extract_first()
或者,如果您熟悉物品装载机:

from scrapy.loader.processors import TakeFirst
from scrapy.loader import ItemLoader
class MyItemLoader(ItemLoader):
    myfield_out = TakeFirst()
ml = MyItemLoader()
ml.add_xpath('myfield', 'xpath')
请尝试以下xPath:-

string(//div[@class='class1'])

请尝试以下xPath:-

string(//div[@class='class1'])