正規表現を使用して、タイトルのHTMLページをスクレイプしようとしています。これが私が試していることです:
\<title\>\A\Z\</title\>
助言がありますか?
<title>(.*?)</title>
角かっこを.*?
使用すると、キャプチャグループを参照できます。正規表現ライブラリには、キャプチャグループで一致するものを返す方法がおそらくあります。インデックスが0のグループは完全一致です。したがって、おそらく最初に出くわす開始ブラケットであるグループインデックス1を選択する必要があります(ここにはブラケットのセットが1つだけあります)。
一部のライブラリでは、次のものが必要です。
.*?<title>(.*?)</title>.*
文字列の完全一致が必要なものもあるためです。
これは絶対確実ではないことに注意してください。Webページは、次のようなページで正規表現を壊す可能性があります。
<html>
<script>
// <title>HAHA YOU GOT THE WRONG TITLE</title>
</script>
<title>The Actual title</title>
</head><body></body>
</html>
タイトルを一致させる前に正規表現をより複雑にすることで、この可能性を回避できます。ただし、それは実際には機能しません。偽のタイトルがHTMLコメント<!-- <title></title> -->
またはコメントに含まれている可能性があるため/* javascript */
です。
したがって、実際のHTMLパーサーを使用することをお勧めします。あなたはこれらの多くを見つけるためにグーグルを検索することができます。
Rubyを使用している場合は、nokogiri gem(http://nokogiri.org/ )を使用できます。
Pythonの場合-http ://docs.python.org/library/htmlparser.html。