私はurllib2.urlopenを使ってthisのようなサイトのソースコードを入手しています。 私はバイトを読んで、beautifulsoupを使ってアプレットとしてラベル付けされたコードを取得します。 ように、このコードは、行が含まれています。私はTIPO =「マクロ」(dinamica/resorteとdinamica持つ値に含まれるコードにおけるすべての「expresión=」値をキャプチャする必要beautifulsoupとregextで検索する
<param name="G_00" value="espacio='E1' tipo='macro' expresión='dinamica/resorte'">
/マサ)。 beautifulsoupで
私はタグのようなラインのこれらの種類を特定するには、唯一のTIPOだけでなく、私は今、私はexpresión=の右側を探し、簡単にしたい=「マクロ」でタグ:
key_macro = ['expresión=', 'expresion=', 'expresión='....] # yes, a problem, it could be this way
for y in key_macro:
if string.find(tag, y) != -1:
# sometimes -sorry- macros are in txt format:
mexpression = r"%s'([\w\./]+)'" % y
mpatron = re.compile(mexpression)
mresult = mpatron.search(tag['value'])
if mresult: # 1
macroslist.append(mresult.group(1))
# sometimes without extension
wexpression = r"%s'([\w/]+)'" % y
wpatron = re.compile(wexpression)
wresult = wpatron.search(tag['value'])
if wresult: # 2
macroslist.append(wresult.group())
問題がある場合:もし存在すれば.txtファイルを取得する - 私は保証することができる#2(私は単語/単語を探す)私はdinamica/resorteとしてsomethingsを見つけられない、wresultは常に失敗し、私はこれらの値を取得する必要があります。
私の正規表現は悪いですか?すべての問題は、単語/単語を正規表現でどのように示すかです。
右側があることながら、私は... beautifulsoupで検索を試みたが、「マクロは」INSIDE値であり、私はこのタグをキャプチャする方法がわからない、とにかく+検索再(良い仕事をするように見えます。例えば、dinamica/resorte.txt、#1は動作しますが)、拡張子はありません。
お時間をいただきありがとうございます。
JA !,二アイデア((P [a-zA-Z./]+)はunicodeに変換するために見えます?パトロンとタグは以前は完璧に動作しているようです!私の悪い説明を残して申し訳ありません、あなたに努力していただきありがとうございます。はい、正規表現は頭痛を引き起こします。 –
Antonio