2009-11-02 7 views
5

urllib2を使用して開いているウェブページのタイトルを取得したいと思います。 htmlを解析して、必要なものを見つけるために、これを行うための最善の方法は何でしょうか(現在はタグだけですが、将来はさらに必要になるかもしれません)。Pythonのフェッチ<title>

この目的に適した構文解析ライブラリはありますか?

答えて

9

はい、私はBeautifulSoup

をお勧めします:

soup = BeautifulSoup(html) 
myTitle = soup.html.head.title 

または

the documentation

から撮影

それは非常に堅牢だと関係なく、それがどのように厄介なHTMLを解析しません。

0

Beautiful Soupを使用してください。

html = urllib2.urlopen("...").read() 
from BeautifulSoup import BeautifulSoup 
soup = BeautifulSoup(html) 
print soup.title.string 
5

Beautiful Soupを試してみてください:あなたは、それは単にのタイトルを取得している場合は

url = 'http://www.example.com' 
response = urllib2.urlopen(url) 
html = response.read() 

soup = BeautifulSoup(html) 
title = soup.html.head.title 
print title.contents 
1

なぜあなたは1つのタスクに対して余分なライブラリ全体をインポートしていますか?正規表現はありませんか?第三者であるbs4やmechではないurllibのリクエストではありませんでしたか?標準ライブラリで行うことはhtmlを解析して文字列にマッチさせ、次に'>''<'をreまたはwhatevesで分割します。パイソン2ザッツ

N=(len(html)) 
for a in html(N): 
    if '<title>' in a: 
     Title=(str(a)) 

私は、あなたが

+0

それを取り除くことができると思う答えを愛します。それは私の質問でした、なぜあなたは1つの呼び出しのために全体的に他の依存関係を追加しますか?あなたの知恵をありがとう:) – raTM

関連する問題