gpt4 book ai didi

python - Web 在 python 中抓取文本()

转载 作者:行者123 更新时间:2023-11-27 23:38:42 25 4
gpt4 key购买 nike

我在使用网络抓取功能时遇到问题。我试图获得的两件事的 XPath 是

/html/body/div/table[2]/tbody/tr[5]/td[1]/div[1]/ul/li[1]/text()
/html/body/div/table[2]/tbody/tr[5]/td[1]/div[1]/ul/li[1]/a

html是

<li><a href="http://www.acu.edu/" target="_blank" class="institution">Abilene Christian University</a> (TX)</li>

我正在尝试使用一个函数来遍历 tr[5] 中的每个 li。我遇到的问题是获取 text()。我已经尝试了这个函数的许多不同变体

from lxml.html import parse
from urllib2 import urlopen
def _clean(lst):
for elm in lst:
lnk=elm.findall('.//a')
for this in lnk:
lnk_txt.append(this.text_content())
state_txt.append(elm.findall('.//text()'))

此特定函数返回“()”上的 KeyError。如果我删除 (),它会返回一个空元素列表。 lnk_txt 有效。

我想要得到的是两个列表。一是大学的名称。另一个是大学的位置。最终目标是制作元组(名称,状态)。

最佳答案

您需要找到 following text sibling a 元素的:

lnk.xpath("following-sibling::text()")

演示:

>>> import lxml.html
>>> data = '<li><a href="http://www.acu.edu/" target="_blank" class="institution">Abilene Christian University</a> (TX)</li>'
>>> li = lxml.html.fromstring(data)
>>> li.xpath("//a[@class='institution']/following-sibling::text()")[0].strip()
'(TX)'

关于python - Web 在 python 中抓取文本(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32654781/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com