0

OutWit Hub を使用して、Web サイトから会社名をスクレイピングしています。

一部のページでは、HTML タグは次のようになります。

<p style="font-weight: bold;">COMPANY NAME</p>

他のページでは:

<span style="font-weight: bold;">COMPANY NAME</span>

すべてのページで上記の 2 つのオプションのいずれかを使用しますが、両方を使用することはありません。

OutWit Hub に慣れていない場合は、必要な情報の前にマーカーを要求し、情報の後にマーカーを要求することで機能します。

会社名を取得する正規表現を作成しようとしています。これらのマーカーのいずれかが前後に使用されているかどうかに関係ありません。

これまでのところ、「before」タグでこれを試しましたが、うまくいきません:

/[<p style="font-weight: bold;">]|[<p>Name of Company: <span style="font-weight: bold;">]/

誰でも助けることができますか?

4

2 に答える 2

1

角かっこ ( ) をなくします。これらは、文字のシーケンスではなく、文字クラスまたは文字セット[...]を指定するために使用されます。

/<p style="font-weight: bold;">|<p>Name of Company: <span style="font-weight: bold;">/

正規表現の理解とデバッグについては、Regexprを参照してください。

ただし、他の人がコメントしているように、正規表現は HTML を解析するための最も信頼できる方法ではありません。たとえば、スタイルが のページに他の段落やスパンが存在しないことをどのようにして知ることができますfont-weight: boldか?

C# を知っている場合、HTML Agility Packは HTML を解析するための便利なライブラリです。ただし、ニーズに対してはやり過ぎかもしれません。

于 2013-05-02T16:50:14.353 に答える