http://robobrowser.readthedocs.org/en/latest/readme.htmlは、美しいスープ ライブラリに基づく新しい Python ライブラリです。いくつかの助けを借りて、django アプリ内で html ページを返しましたが、タグを取り除いて text だけにする方法がわかりません。私のdjangoアプリには以下が含まれています:
def index(request):
from django.utils.html import strip_tags
p=str(request.POST.get('p', False)) # p='https://www.yahoo.com/'
browser = RoboBrowser(history=True)
browser.open(p)
html = browser.response
stripped = strip_tags(html)
return HttpResponse(stripped )
出力された html を見ると、元の html と同じであることがわかります。また、robobrowser には美しいスープの text() メソッドがないと思います。
私も試しました(PythonコードからHTMLタグを文字列から削除します):
def remove_html_markup(s):
tag = False
quote = False
out = ""
for c in s:
if c == '<' and not quote:
tag = True
elif c == '>' and not quote:
tag = False
elif (c == '"' or c == "'") and tag:
quote = not quote
elif not tag:
out = out + c
return out
同じ結果!HTMLタグを削除してテキストを返すにはどうすればよいですか?