3

html ファイルから画像ソースを見つけて抽出する必要があります。たとえば、次のものが含まれる場合があります。

<image class="logo" src="http://example.site/logo.jpg">

また

<img src="http://another.example/picture.png">

Python の使用。サードパーティのプログラムを使用したくありません。でも、REモジュールは使えます。プログラムは次のことを行う必要があります。

  • すべてをふるいにかける
  • imgまたはimageタグを探す
  • を見つけてsrc属性値を取得します (二重引用符なし)

これは可能ですか?もしそうなら、どうすればできますか? これを行うためにインターネットにアクセスする必要はないと想定できます (すべての html コードを含む website.html というファイルがあります)。

編集:私の現在の正規表現は

r'<img[^>]*\ssrc="(.*?)"'

r'<image[^>]*\ssrc="(.*?)"'.

主な問題は、式が img または image で始まるすべてのものを取得することです。たとえば、何かが言って<imagesomethingrandom src="website">いる場合でも、それは画像としてカウントされ(画像という単語が最初にあるため)、ソースが追加されます。

前もって感謝します。

ロブ。

4

4 に答える 4

0

そして変形バージョン

<ima?ge? # using conditional letters, we match both tags in one expression
\s+      # require at least one space, also includes newlines which are valid
         # prevents <imgbutnotreally> tags
[^>]*?   # similar to the above, but tell it not to be greedy (performance)
\bsrc="([^"]+) # match a space and find all characters in the src tag

紅斑

<ima?ge?\s+[^>]*?\src="([^"]+)
于 2013-08-17T03:40:56.267 に答える