我正在试验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?
答案 0 :(得分:3)
它是绑定到BeautifulSoup
对象的方法对象。你没有打电话。
它的表示有点令人困惑,因为包含了BeautifulSoup解析树的repr()
,它只是呈现为HTML源字符串的树。
要获取底层的BeautifulSoup解析树,您可以使用;使用str()
将其转换回源字符串:
html = str(browser.state.parsed)
或者,您仍然可以使用以下命令访问原始requests
响应对象:
browser.state.response
表示原始下载的HTML为:
html = browser.state.response.content