在Python BeautifulSoup中获取与目标的特定链接

时间:2018-10-04 23:18:57

标签: python html beautifulsoup html-parsing string-parsing

我正在尝试使用BeautifulSoup使用Python解析HTML源。我需要获取的是href的特定链接(<a>标签)。我看到的功能是这些链接都在其标签内包含target='testwindow',所以也许我会寻找。我如何获得这些链接?

这是我的测试样本。我将只需要 http://example.com:20213/testweb1.2/testapp?WSDL

<td id="link3"><img src="images/spacer.gif" alt="" style="height:1px;" width="0" border="0"><a href="http://example.com:20213/testweb1.2/testapp?WSDL">?HELLO</a></td>
<td id="link4"><img src="images/spacer.gif" alt="" style="height:1px;" width="0" border="0"><a href="http://example.com:20213/testweb1.2/testapp?WSDL" target="testwindow">?WSDL</a></td>

1 个答案:

答案 0 :(得分:1)

您可以使用BeautifulSoup.find

from bs4 import BeautifulSoup as soup
content = '<td id="link4"><img src="images/spacer.gif" alt="" style="height:1px;" width="0" border="0"><a href="http://example.com:20213/testweb1.2/testapp?WSDL" target="testwindow">?WSDL</a></td>'
d = soup(content, 'html.parser').find('a', {'target':'testwindow'})['href']

输出:

'http://example.com:20213/testweb1.2/testapp?WSDL'