gpt4 book ai didi

python - 如何序列化 beautifulsoup 访问路径?

转载 作者:太空宇宙 更新时间:2023-11-03 19:35:45 24 4
gpt4 key购买 nike

我有代码,它的作用如下:

item.previous.parent.parent.aTag['href']

现在我希望能够快速添加过滤器,因此硬编码不再是一种选择。如何使用字符串中编码的路径访问相同的标签?

当然,我可以发明一些格式,如 [('getattr', 'previous'), ('getattr', 'parent'), ..., ('getitem', 'href)] 并用 __getattr__ 解析它和 __getitem__。

现在的问题是:是否已经有一种更漂亮的方法来实现它,或者我需要自己实现它?

最佳答案

在我看来,使用 XPATH 表达式会更好。这个discussion有一些有关 BeautifulSoup 的 XPATH 插件(称为 BSXPath)的信息。我没有使用过它,所以我不知道它是否能达到您的目的。

如果你愿意替换BeautifulSoup那么lxml有一个非常强大的 XPATH 实现。

更新

参见@llasram对此答案的评论:

These days lxml has an html module which the BeautifulSoup implementer himself recommends over BeautifulSoup. It even has a soupparser sub-module which will use BeautifulSoup to do the parsing!

关于python - 如何序列化 beautifulsoup 访问路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3683264/

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