【问题标题】:What is a beautiful soup bound method?什么是漂亮的汤包法?
【发布时间】:2014-06-18 07:48:10
【问题描述】:

我正在尝试http://robobrowser.readthedocs.org/en/latest/readme.html,这是一个基于美丽汤库的新 python 库。我试图通过打开一个 html 页面并在 django 应用程序中返回它来测试它,但我无法弄清楚这个最简单的任务。我的 django 应用程序包含:

def index(request):    

    p=str(request.POST.get('p', False)) # p='https://www.yahoo.com/'
    browser = RoboBrowser(history=True)
    browser.open(p)
    html = browser.find_all
    return HttpResponse(html)

当我查看输出的 html 时,我看到:

<bound method BeautifulSoup.find_all of 
    <!DOCTYPE html>
    <html>
    ......................
        <head>
    ...............
        </body>
    </html>
>

什么是漂亮的汤包法?我怎样才能得到直接的html?

【问题讨论】:

    标签: python django beautifulsoup robobrowser


    【解决方案1】:

    它是一个方法对象,绑定到BeautifulSoup 对象。你没有调用它。

    它的表示有点混乱,因为包含 BeautifulSoup 解析树的 repr(),它只是呈现为 HTML 源字符串的树。

    要获取底层的 BeautifulSoup 解析树,您可以使用;使用str() 将其转回源字符串:

    html = str(browser.state.parsed)
    

    或者,您仍然可以通过以下方式访问原始 requests 响应对象:

    browser.state.response
    

    这意味着原始下载的HTML被发现为:

    html = browser.state.response.content
    

    【讨论】:

    • 感谢您解释 Martijn,您是救生员。我使用 html = browser.response 来获取 html。
    猜你喜欢
    • 2020-01-23
    • 2015-11-19
    • 1970-01-01
    • 1970-01-01
    • 2020-01-20
    • 1970-01-01
    • 1970-01-01
    • 2019-11-10
    • 2013-03-21
    相关资源
    最近更新 更多