HTMLのhrefパーサ
某氏がちょっこっと書いていたので.
正規表現でHTMLからhrefのリンク先を全部抽出するならこんな感じ?
import re def hrefParser (inStr): buff = [] ro1 = re.compile ("<a.+?href\s*=\s*\"(.*?)\".*?>", re.I) ro2 = re.compile ("<a.+?href\s*=\s*\'(.*?)\'.*?>", re.I) rs1 = ro1.search (inStr) while (rs1): buff.append (inStr[rs1.group ().start ():rs1.group ()end()]) inStr = inStr[:rs1.group ().start ()] + inStr[rs1.group ().end():]) rs1 = ro1.search (inStr) rs2 = ro2.search (inStr) while (rs2): buff.append (inStr[rs2.group ().start ():rs2.group ()end()]) inStr = inStr[:rs2.group ().start ()] + inStr[rs2.group ().end():]) rs2 = ro2.search (inStr) return buff
これだと精査回数が多いので1パスでグループかなんかでとってくる方法ないのかな?
馬鹿なのでわかりません!!