我需要提取外部网站的元描述.我已经搜索过,也许已经有了简单的答案,但我无法将其应用到我的代码中.
目前我可以通过以下方式获得它的标题:
external_sites_html = urllib.request.urlopen(url)
soup = BeautifulSoup(external_sites_html)
title = soup.title.string
Run Code Online (Sandbox Code Playgroud)
但是,描述有点棘手.它可以是以下形式:
<meta name="og:description" content="blabla"
<meta property="og:description" content="blabla"
<meta name="description" content="blabla"
Run Code Online (Sandbox Code Playgroud)
所以我想要的是提取出现在html中的第一个.然后它将被添加到数据库中:
entry.description = extracted_desc
entry.save
Run Code Online (Sandbox Code Playgroud)
如果它根本找不到任何描述,那么它只会保存标题.
似乎 FormHelper 根本没有任何作用。这是我的表格:
class PerguntarForm(forms.Form):
title = forms.CharField(label='Título', max_length=200)
categoria = forms.ModelChoiceField(queryset=Category.objects.all(), empty_label=None)
orcamento = forms.FloatField(label='Preço máximo')
def __init__(self, *args, **kwargs):
super(PerguntarForm, self).__init__(*args, **kwargs)
self.helper = FormHelper(self)
self.helper.layout.append(Submit('save', 'save'))
self.helper.layout = Layout(
PrependedText('orcamento', ',00', active=True),
)
Run Code Online (Sandbox Code Playgroud)
但是,在呈现时 PrependedText 不会应用于“orcamento”字段。布局附加也没有,我放置它只是为了看看是否发生了什么。
这是输出:
<div id="div_id_title" class="form-group"><label for="id_title" class="control-label requiredField">
Título<span class="asteriskField">*</span></label><div class="controls "><input class="textinput textInput form-control" id="id_title" maxlength="200" name="title" type="text" /> </div></div><div id="div_id_categoria" class="form-group"><label for="id_categoria" class="control-label requiredField">
Categoria<span class="asteriskField">*</span></label><div class="controls "><select class="select form-control" id="id_categoria" name="categoria"><option value="4">Celular</option><option value="5">TV</option><option value="6">Computador</option></select></div></div><div id="div_id_orcamento" class="form-group"><label for="id_orcamento" class="control-label requiredField"> …Run Code Online (Sandbox Code Playgroud) 我想知道如何使用它的 URL提取外部站点的Title和Metadescription。我找到了一些解决方案,但不适用于 django/python。
目前我的代码添加了一个指向数据库的链接,我想让它在添加后转到该链接,然后使用相应的Title和更新条目Metadescription。
能够检索og诸如meta property="og:url.
谢谢你。