《Python与美丽汤》中的lambda不是在检索tex

2024-06-11 10:09:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图从这个html中抓取1520-00-087-7637

     <tr>
<td class="text-center" style="width: 10%">
    <img class="img-thumbnail" src="/Files/image/placeholder100.png" style="width: 100px">
</td>

<td class="text-center" nowrap="" style="vertical-align: middle; width: 10%"><a href="/NSN/1520-00-087-7637">1520-00-087-7637</a></td>
<td class="text-center" nowrap="" style="vertical-align: middle; width: 10%"><a href="/PartNumber/UH1H">UH1H</a></td>

<td class="text-center" nowrap="" style="vertical-align: middle; width: 10%"><a href="/CAGE/97499">97499</a></td>
<td class="text-center" style="vertical-align: middle; width: 10%"><a href="/CAGE/97499"><img class="img-thumbnail" src="/Files/cage/90/97499.jpg" title="CAGE 97499" alt="CAGE 97499"></a></td>
<td nowrap="" style="vertical-align: middle">

    <h4>&emsp;&emsp;BOSS, MAN</h4>


    <p>
        <em>&emsp;&emsp;&emsp;&emsp;Alternate References: <a href="/NSN/1520-00-087-7637">1520-00-087-7637</a>, <a href="/NSN/1520-00-087-7637">000877637</a></em>
    </p>
</td>

所以我试着用这个得到1520-00-087-7637,但是我从输出中得到的结果是没有。在

^{pr2}$

我做错了什么?我该怎么解决

我尝试了print(Z.get_text())和Z.text,它们似乎都不起作用。如何获取文本值?在


Tags: textmiddleimgstylewidthclasstdhref
1条回答
网友
1楼 · 发布于 2024-06-11 10:09:29

给你。如果你对它有任何意见,请告诉我。看来我需要带你过去。在

from lxml.html import fromstring
tree = fromstring(html)
for item in tree.cssselect(".text-center+td h4"):
    print(item.text_content())

结果:

^{pr2}$

从容器中获取数据:

html='''
<tr>
    <td class="text-center" style="width: 10%">
        <img class="img-thumbnail" src="/Files/image/placeholder100.png" style="width: 100px">
    </td>
    <td class="text-center" nowrap="" style="vertical-align: middle; width: 10%"><a href="/NSN/1520-00-087-7637">1520-00-087-7637</a></td>
    <td class="text-center" nowrap="" style="vertical-align: middle; width: 10%"><a href="/PartNumber/UH1H">UH1H</a></td>

    <td class="text-center" nowrap="" style="vertical-align: middle; width: 10%"><a href="/CAGE/97499">97499</a></td>
    <td class="text-center" style="vertical-align: middle; width: 10%"><a href="/CAGE/97499"><img class="img-thumbnail" src="/Files/cage/90/97499.jpg" title="CAGE 97499" alt="CAGE 97499"></a></td>
    <td nowrap="" style="vertical-align: middle">
        <h4>&emsp;&emsp;BOSS, MAN</h4>
        <p>
            <em>&emsp;&emsp;&emsp;&emsp;Alternate References: <a href="/NSN/1520-00-087-7637">1520-00-087-7637</a>, <a href="/NSN/1520-00-087-7637">000877637</a></em>
        </p>
    </td>
</tr>
'''

from lxml.html import fromstring
tree = fromstring(html)
for item in tree.cssselect("tr"):
    number = item.cssselect(".text-center a[href^='/NSN/']")[0].text
    name = item.cssselect(".text-center+td h4")[0].text_content()
    print(number, name)

结果:

1520-00-087-7637   BOSS, MAN

相关问题 更多 >