1

こんにちは :) 少し遊んだ後、単純に < >"this"< >を反転した部分ではなく、完全な HTML タグを返す次の関数を思いつきました。

from BeautifulSoup import BeautifulSoup
from urllib2 import urlopen

def get_wotd():
    return str((BeautifulSoup(urlopen('http://www.reference.com/wordoftheday'))).findAll('h2'))

print get_wotd()

たとえば、今日の単語は「nosh」です。取得する代わりに:

[<h2 class="me">nosh</h2>]

出力が必要なのは、単純に、

nosh

どうすればこれをやってのけることができるか、誰にもわかりませんか?

4

2 に答える 2

1

属性を使用.textして内部テキストをフェッチし、find()代わりにメソッドを使用します。

>>> from BeautifulSoup import BeautifulSoup
>>> from urllib2 import urlopen
>>> soup = BeautifulSoup(urlopen('http://www.reference.com/wordoftheday'))
>>> soup.find('h2').text
u'nosh'
于 2012-04-27T12:55:53.033 に答える
1

lxmlBeautifulSoup の代わりに使用:

>>> from lxml.html import parse
>>> tree = parse("http://www.reference.com/wordoftheday")
>>> tree.xpath("//h2")[0].text
'nosh'
于 2012-04-27T12:29:14.220 に答える