如何将BeautifulSoup的查找语句包装成函数

2024-05-14 13:00:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在编写一些漂亮的代码来从html页面的结果填充字典,我需要一些错误处理。虽然我所拥有的能胜任这项工作,但我觉得还有更好的方法。以下是我所拥有的:

    rightcol = result.find("div", {"class":"rightcol"})

    try: mydict['rating'] = rightcol.find("div", {"class":"rating"}).contents[1]['class']
    except AttributeError: pass

    try: mydict['reviews'] = rightcol.find("span", {"class":"reviews"}).contents
    except AttributeError: pass

    try: mydict['address'] = rightcol.find("address").contents
    except AttributeError: pass

    (10+ more statements of the same kind)

我希望将错误处理放入一个函数中,类似于:

^{pr2}$

但是,我不确定如何将BeautifulSoup指令传递给函数的语法。有什么想法吗?在


Tags: 函数代码divaddresscontentspassfindmydict
1条回答
网友
1楼 · 发布于 2024-05-14 13:00:15

您可以将函数放入dict中,并在需要时调用它们:

def hello(name):
    return 'Hello, ' + name

funcMap = {'greet' : hello}

greeting = funcMap['greet']('Peter')
print greeting # Hello, Peter

你可以对这个代码做一些非常类似的事情。在

相关问题 更多 >

    热门问题