我试图从嵌套的html代码中获取一些所有的href URL:
...
<li class="dropdown">
<a href="#" class="dropdown-toggle wide-nav-link" data-toggle="dropdown">TEXT_1 <b class="caret"></b></a>
<ul class="dropdown-menu">
<li class="class_A"><a title="Title_1" href="http://www.customurl_1.com">Title_1</a></li>
<li class="class_B"><a title="Title_2" href="http://www.customurl_2.com">Title_2</a></li>
...
<li class="class_A"><a title="Title_X" href="http://www.customurl_X.com">Title_X</a></li>
</ul>
</li>
...
<li class="dropdown">
<a href="#" class="dropdown-toggle wide-nav-link" data-toggle="dropdown">TEXT_2 <b class="caret"></b></a>
<ul class="dropdown-menu">
<li class="class_A"><a title="Title_1" href="http://www.customurl_1.com">Title_1</a></li>
<li class="class_B"><a title="Title_2" href="http://www.customurl_2.com">Title_2</a></li>
...
<li class="class_A"><a title="Title_X" href="http://www.customurl_X.com">Title_X</a></li>
</ul>
</li>
...
在原始的html代码中,大约有15个“li”块带有类“dropdown”, 但是我只想从text=text_1的块中获取url。 有没有可能用beauthoulsoup绘制所有这些嵌套的url?在
谢谢你的帮助
虽然没有Xpath那么优雅,但是您可以始终使用日常Python迭代来编写逻辑。beauthoulsoup允许将函数作为一个过滤器传递给
find_all
,当您有一个像这样的复杂情况时。Xpath和lxan示例:
其中,
^{pr2}$html
是包含html内容的unicode字符串。结果:注意:我在XPath查询中使用
starts-with
函数更精确,但是如果TEXT_1
不总是在文本节点的开头,则可以以相同的方式使用contains
。查询详细信息:
相关问题 更多 >
编程相关推荐