lxml cssselect - 特定部分

lxml cssselect - specific part

我需要获取网页的翻译部分。

这是我的 python 代码:

import urllib.request

u = urllib.request.urlopen("https://docs.python-guide.org/writing/structure/#structure-of-the-repository")
data = u.read()

from lxml import html
information = html.document_fromstring(data)

for content in information.cssselect('ul li a'):
    print(content.text_content())

最后我也得到了Table的内容部分,不知道如何过滤信息。

达到此目的的正确方法是什么?

我不得不说我从未与python合作过,我对此的了解有限。

你可以得到所有的ul然后用正确的一个得到li a

我发现第 6 ul 有你的数据

for content in information.cssselect('ul')[6].cssselect('li a'):
    print(content.text_content())

结果

English
French
Chinese
Japanese
Korean
Filipino
Brazilian Portuguese

编辑: 同样使用 xpath 需要 7 而不是 6 因为它从 1 开始计数而不是0

for content in information.xpath('(//ul)[7]/li/a'):
    print(content.text_content())