BeautifulSoup を使用して html を解析し、Web ページのタイトルを抽出しようとしています。Bad End タグなど、Web サイトの記述が不適切なために、これが機能しない場合があります。これがうまくいかないときは、手動正規表現に行きます
私はテキストを持っています
<html xmlns="http://www.w3.org/1999/xhtml"\n xmlns:og="http://ogp.me/ns#"\n xmlns:fb="https://www.facebook.com/2008/fbml">\n<head>\n <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>\n <title>\n .@wolfblitzercnn prepping questions for the Cheney intvw. @CNNSitRoom today. 5p. \n </title>\n <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />...
<title>
と</title>
タグの間の値を取得しようとしています。かなり単純なはずですが、機能していません。これが私のpythonコードです。
result = re.search('\<title\>(.+?)\</title\>', html)
if result is not None:
title = result.group(0)
これは、何らかの理由でこのテキストでは機能しません。result.group() を None として返すか、AttributeError を取得します。AttributeError: 'NoneType' オブジェクトには属性 'groups' がありません
私はこのテキストをオンラインの python regex 開発者に C&P し、すべてのオプション (re.match、re.findall、re.search) を試しましたが、そこで動作しますが、何らかの理由で私のスクリプトでは何も見つかりません。これらのタグ。次のような他の正規表現を試しても
<title>(.*?)</title>
等