如何使用BeautifulSoup在href标签下面拉<b> text </ b>?

Cha*_*yer 3 python beautifulsoup web-scraping python-3.x

我试图找到一种方法来拉出一些链接及其相关的文字与美丽的汤.HTML如下:

<tr>
    <td align="left" bgcolor="#ffff99">
        <font size="2">
            <a href="link/I/Want.htm">
                <b>Text I Want</b>
            </a>
        </font>
     </td>

<tr>
    <td align="left" bgcolor="#ffff99">
        <font size="2">
            <a href="link/I/Want.htm2">
                <b>Text I Want2</b>
            </a>
        </font>
     </td>
Run Code Online (Sandbox Code Playgroud)

我可以拉链接没问题:

soup.find_all('a', href=re.compile('link/I/Want'))
Run Code Online (Sandbox Code Playgroud)

但是我希望能够拉动文本并将其与链接相关联.要么让它们在列表中背靠背,要么将它们放在相同顺序的单独列表中,这样我就可以使用zip()函数.

Zro*_*roq 5

你可以试试这个:

links = []
for link in soup.find_all('a', href=re.compile('link/I/Want')):
    links.append({"link" : link["href"],  "text": link.find_all("b")[-1].get_text(strip=True)})
print (links)
Run Code Online (Sandbox Code Playgroud)

输出:

[{'link':'link/I/Want.htm','text':'Text I want'},{'link':'link/I/Want2.htm','text':'Text I want2 "}]