美丽的汤 - 处理错误

发布于 2024-12-04 20:12:32 字数 273 浏览 0 评论 0原文

  1. 我想知道如何处理 Text: 之后不存在 href 的情况

  2. Is there搜索内容的更好方法Contact:

    之后存在的

http://pastebin.com/FYMxTJkf

  1. I'd like to know how to handle a situation when href doesn't exist after the <strong>Text:</strong>

  2. Is there a better way to search for the content that exists after <strong>Contact:</strong>

http://pastebin.com/FYMxTJkf

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

百善笑为先 2024-12-11 20:12:32

findNext 怎么样?

import re
from BeautifulSoup import BeautifulSoup

html = '''<strong>Text:</strong>   

        <a href='http://domain.com'>url</a>'''

soup = BeautifulSoup(html)
label = soup.find("strong" , text='Text:')
contact = label.findNext('a')

if contact.get('href') != None:
    print contact
else:
    print "No href"

如果您正在专门寻找带有 hrefa 标记,请使用:

contact = label.findNext('a', attrs={'href' : True})

有了这个,您将不需要压缩空格。我想您这样做是因为 next 返回标签后的空格。

How about findNext?

import re
from BeautifulSoup import BeautifulSoup

html = '''<strong>Text:</strong>   

        <a href='http://domain.com'>url</a>'''

soup = BeautifulSoup(html)
label = soup.find("strong" , text='Text:')
contact = label.findNext('a')

if contact.get('href') != None:
    print contact
else:
    print "No href"

If you're looking specifically for an a tag with an href, use:

contact = label.findNext('a', attrs={'href' : True})

With this you won't need to condense whitespace. I imagine you did this because next was returning the whitespace after the label.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文