首页 > 解决方案 > lxml cssselect - 特定部分

问题描述

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

在此处输入图像描述

这是我的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())

最后,我也得到了目录部分,我不知道如何过滤信息。

什么是实现这一目标的正确方法?

我不得不说我从来没有使用过python,我对此的了解是有限的。

标签: pythonparsingcss-selectorslxml

解决方案


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

我发现 6thul有你的数据

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())

推荐阅读