ユーザーがリンクを送信できるサイトを構築しています。BeautifulSoup (または、タスクに適している場合は他の何か) を使用して、送信された URL からタイトル タグを取得し、ユーザーが送信したリンクを一覧表示するページに表示したいと考えています。
このページで 2 番目の回答を試しました: Python を使用して Web ページのページ タイトルを取得するにはどうすればよいですか?
シェルで動作しますが、モデルにデータを入力できるように、soup.title.string をどこでどのように使用すればよいかわかりません。
これまでに試したコード例が必要な場合は、お尋ねください。いろいろ試してみたので投稿しませんでした。
ビューのコード:
def page_save(request):
if request.method == 'POST':
form = PageSaveForm(request.POST)
if form.is_valid():
# Create or get link.
link, dummy = Link.objects.get_or_create(
url=form.cleaned_data['url']
)
# Create or get bookmark.
page, created = Page.objects.get_or_create(
user=request.user,
link=link
soup=BeautifulSoup.BeautifulSoup(urllib.urlopen(link))
title=soup.title.string
間隔は明らかにずれています。
ユーザーがリンクだけを保存して、テンプレートで各リンクからタイトルを取得し、それをエンド ユーザーに表示できれば幸いです。
または、URL を貼り付けたときにプレビューで SO が行うことさえも。