<p>漂亮的Soup对象的<a href="http://www.crummy.com/software/BeautifulSoup/bs4/doc/#contents-and-children" rel="nofollow">^{<cd1>}</a>方法返回一个列表。在本例中,它只有一个元素,即Unicode字符串。你应该发现你想要的表达式实际上是</p>
<pre><code>>>> soup.title.contents[0]
</code></pre>
<p>注意,单引号的出现只是因为您要求交互式解释器显示一个字符串值。你会发现的</p>
^{pr2}$
<p>显示器</p>
<pre><code>" CARA CEPAT BELAJAR BAHASA INGGRIS MUDAH DAN MENYENANGKAN "
</code></pre>
<p>这实际上就是标题标签的内容。您将看到Beautiful Soup已将<code>&quot;</code>HTML实体转换为所需的双引号字符。若要丢失可以使用的引号和相邻空格</p>
<pre><code>soup.title.contents[0][2:-2]
</code></pre>
<p>meta标签有点诡计多端。我假设只有一个<code><meta></code>标记具有<code>http-equiv</code>属性,其值为<code>"refresh", so the retrieval returns a list of one element</code>。您可以这样检索该元素:</p>
<pre><code>>>> meta = soup.findAll("meta", {"http-equiv": "refresh"})[0]
>>> meta
<meta content="0; URL=/notes/kursus-belajar-bahasa-inggris/bahasa-inggris-siapa-takut-/685004288208871?_fb_noscript=1" http-equiv="refresh"/>
</code></pre>
<p>请注意,meta不是一个字符串,而是一个soup元素:</p>
<pre><code>>>> type(meta)
<class 'bs4.element.Tag'>
</code></pre>
<p>可以像Python dicts一样使用索引来检索soup元素的属性,因此可以获得<code>content</code>属性的值,如下所示:</p>
<pre><code>>>> content = meta["content"]
>>> content
u'0; URL=/notes/kursus-belajar-bahasa-inggris/bahasa-inggris-siapa-takut-/685004288208871?_fb_noscript=1'
</code></pre>
<p>为了提取URL值,<em>可以</em>只需查找第一个等号并获取字符串的其余部分。我更喜欢使用一种更规范的方法,在分号处拆分,然后在等号(只有一个)上拆分右侧元素。在</p>
<pre><code>>>> url = content.split(";")[1].split("=", 1)[1]
>>> url
u'/notes/kursus-belajar-bahasa-inggris/bahasa-inggris-siapa-takut-/685004288208871?_fb_noscript=1'
</code></pre>