python - 带有 Scrapy 节点的 XPath 开头为\n

标签 python xpath scrapy

我在 html 上使用 scrapy,例如:

<td nowrap="" valign="top" align="right">
    <br>
    Text is here.
    <br>
    Other text is here
    <br>
</td>

td[1]/text()[1] 给我:

(empty line)
Text is here.

我尝试过标准化空间,即标准化空间(td[1]/text()[1]),当我在我的firefox扩展中测试时它有效,但在scrapy中则无效。我认为 scrapy 被\n 绊倒了,它会跳过(或者只占用节点的第一行,这没什么)。我还尝试了一些“前面”和“后面”代码,但我认为它可能被视为一个元素,我的 DOM 说 nodeValue =“\nText is here” 有什么想法吗?,

最佳答案

提取每个文本,通过索引获取所需的文本。例如:

response.xpath("//table[@id='myid']/tr[1]/td[1]//text()")[1]

来自 Scrapy Shell 的演示:

$ scrapy shell http://www.trobar.org/troubadours/coms_de_peiteu/guilhen_de_peiteu_01.php
In [1]: table = response.xpath("//table")[2]
In [2]: td = "".join(table.xpath(".//td[1]//text()").extract())
In [3]: print(td)

Companho, farai un vers qu'er covinen,
Et aura-i mais de foudatz no-y a de sen,
Et er totz mesclatz d'amor e de joy e de joven.

E tenguatz lo per vilan qui no-l enten,
O dins son cor voluntiers non l'apren:
Greu partir si fai d'amor qui la troba a talen.

Dos cavalhs ai a ma sselha, ben e gen,
Bon son et adreg per armas e valen,
E no-ls puesc amdos tener, que l'us l'autre non cossen.

Si-ls pogues adomesjar a mon talen,
Ja no volgr'alhors mudar mon garnimen,
Que meils for'encavalguatz de nuill ome viven.

Launs fon dels montaniers lo plus corren,
Mas aitan fer' estranhez'a longuamen
Et es tan fers e salvatges, que del bailar si defen.

L'autre fon noyritz sa jus part Cofolen
Ez anc no-n vis bellazor, mon escien:
Aquest non er ja camjatz ni per aur ni per argen.

Qu'ie-l donei a son senhor polin payssen,
Pero si-m retinc ieu tan de covenen
Que, s'ilh lo tenia un an, qu'ieu lo tengues mais de cen.

Cavalier, datz mi cosselh d'un pessamen:
-Anc mays no fuy issaratz de cauzimen- :
Res non sai ab qual me tengua, de n'Agnes o de n'Arsen.

De Gimel ai lo castel e-l mandamen,
E per Niol fauc ergueill a tota gen:
C'ambedui me son jurat e plevit per sagramen.

关于python - 带有 Scrapy 节点的 XPath 开头为\n,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31884988/

相关文章:

xml - 使用 xpath 从 tomcat 的 server.xml 中删除注释部分

python - PyGame:每像素 alpha 的半透明 Sprite

python - 使用 python 读取包含 json 数据的文件会抛出一个我无法识别的错误

python - 用于单圈时间优化的 Gekko(python)

html - 获取跨度文本的xpath

xml - 比较根节点文本 XPATH

python - 如何分析一个scrapy python脚本?

python - Scrapy无法通过ID选择

python - Scrapy 扩展 : spider_closed is not called

python - 从不同结构和工资符号的 HTML 工作规范中提取工资