urllib2.urlopen を使用して、このようなサイトのソース コードを取得します。バイトを読み取り、beautifulsoup を使用してアプレットとラベル付けされたコードを取得します。このコードには次の行が含まれます。
<param name="G_00" value="espacio='E1' tipo='macro' expresión='dinamica/resorte'">
コード内のすべての "expresión=" 値を、tipo="macro" (具体的にはdinamica/resorteおよびdinamica/masa ) の値に含まれているものとしてキャプチャする必要があります。
beautifulsoup では、これらの種類の行をタグとして識別します。tipo='macro' のタグのみです。簡潔にしたいので、式 = の右側を探します 。
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())
問題:#1で.txtファイルが存在する場合は取得します-保証できます-しかし#2で(単語/単語を探します)dinamica/resorteとして何かが見つかりません.wresultは常に失敗し、必要ですこれらの値をキャプチャします。
私の正規表現は悪いですか?すべての問題は、単語/単語を正規表現で示す方法ですか?
私はbeautifulsoupで検索を試みましたが、「macro」はINSIDE値であり、このタグをキャプチャする方法がわかりません。 txt の場合、 # 1 は機能します) が、拡張子なしでは機能しません。
御時間ありがとうございます。