[Python-ml-jp 5071] Re: BeautifulSoup で解析した文章の数値部分だけ取り出す方法を教えてください。

Tokyo Incidents tokyoincidents.g @ gmail.com
2010年 11月 19日 (金) 11:12:19 JST


自己レスです。

正規表現部分がまちがっていました。

誤: [\d]+
正: [\d,]+

言い訳ですが、関連する他の部分でもエラーが出ていたので完全に切り分け
られていませんでした。
ケアレスミスで ML を汚してしまって申し訳ありません。

以上。

2010年11月19日10:20 Tokyo Incidents <tokyoincidents.g @ gmail.com>:
> 初めて投稿いたします。
> TokyoIncidents と申します。よろしくお願いいたします。
>
> 掲題の件について教えてください。
>
> <div id="hoge">約 1,500 件</div>
>
> というような html の"1,500"の部分のみ抜き出したいのですが、
> うまくいかず困っています。
>
> 以下の方法を試してみました。
>
> ------
>
> import re
> from BeautifulSoup import BeautifulSoup
>
> str = '<div id="hoge">約 1,500 件</div>'
>
> soup = BeautifulSoup(str)
>
> regex = u'約 (?P<num>[\d]+) 件'
>
> print soup.find('div', id='hoge').contents[0] # 約 1,500 件
>
> print type(soup.find('div', id='hoge').contents[0]) # <class
> 'BeautifulSoup.NavigableString'>
>
> print re.search(regex, soup.find('div', id='hoge').contents[0],
> re.U).groups() # AttributeError: type object 'NoneType' has no
> attribute 'groups'
>
> ------
>
> <class 'BeautifulSoup.NavigableString'> なのが問題なのかと思い、
>
> unicode(soup.find('div', id='hoge').contents[0])
>
> としてもうまくいきませんでした。
>
> 以上、よろしくお願いいたします。
>
> twitter: TokyoIncidents
> email: tokyoincidents.g @ gmail.com
>


Python-ml-jp メーリングリストの案内