我很抱歉初学者的问题,但这让我发疯:
想象一下,我将这个选择器用于一组 span 元素:
ori=response.xpath("//div[@class='comparison-
row']//div[contains(@class,'modern-
translation')]//span[contains(@class,'line-mapping')]")
我需要从每个跨度中提取 2 个属性,即数据 ID 和文本
我做:
for r in ori:
id_n=r.xpath("@data-id").extract()
text_n=r.xpath("/text()").extract()
if len(id_n)!=0 and len(text_n)!=0:
ids.append(id_n)
text.append(text_n)
但以下返回错误:
text_n=r.xpath("/text()").extract()
我试过了:
for r in ori:
n=r.extract()
print(n)
我有这个输出:
我会待在家里,祈求上帝保佑你的努力。明天离开,并确保这一点:我可以帮助你的任何事情,你都会拥有。
我需要提取每个文本
您需要使您的 xpath 表达式相对于当前元素:
text_n = r.xpath("./text()").extract()
另外,if len(id_n)!=0 and len(text_n)!=0:
最好写成if id_n and text_n:
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句