1

2 つの単語または 2 組のランダムな文字の間の内容を調べる方法は?

スクレイピングされたページが HTML のみであるとは限らず、重要なデータが JavaScript ブロック内にある可能性があります。そのため、JavaScript を削除することはできません。

このことを考慮:

<html>
<body>
<div>StartYYYY "Extract HTML", ENDYYYY

</body>

Some Java Scripts code STARTXXXX "Extract JS Code" ENDXXXX.

</html>

ご覧のとおり、html マークアップは完全ではない可能性があります。ページを取得できたら、あとは何も気にせず「名前を抽出」「JavaScript でここにデータを抽出」という内容を探したい。

私が探しているのはpythonです:

このような:

data = FindBetweenText(UniqueTextBeforeContent, UniqueTextAfterContent, page)

ページがダウンロードされ、データに探しているテキストが含まれている場所。正規表現には複雑すぎる場合があるため、正規表現には近づきません。

4

4 に答える 4

0

まあ、これはPHPの場合です。もっとセクシーな Pythonic の方法があることは間違いありません。

function FindBetweenText($before, $after, $text) {
    $before_pos = strpos($text, $before);
    if($before_pos === false)
        return null;
    $after_pos = strpos($text, $after);
    if($after_pos === false || $after_pos <= $before_pos)
        return null;
    return substr($text, $before_pos, $after_pos - $before_pos);
}
于 2009-07-12T15:04:39.200 に答える