0

リクエストを使用してウェブサイトをスクレイプしています。HTMLのコンテンツは変数rに正常に保存されますが、ifステートメントで上記のエラーが発生します

[...]
for line in r:  
    link = re.findall(r ("""onclick="window.location.href='([^'])'""",line)
    if link: 
        print ('something')
        cmd = ('some commands to get info page') 
        call(cmd,shell=True)

        download = re.sub(something)
        cmd = ('some commands to download the file') 
        call(cmd,shell=True)
r.close()

ドキュメントで調べたところ、構文は正しいようです。それから私はエラーが前の行にあるのではないかと疑った。ここで、 onclick = "window.location.href ='というフレーズの行を検索し、それに続くリンクを(後のコードで)処理する必要があります。()カプセル化された部分が返されるはずですよね?

誰かがエラーを見ますか?の

4

3 に答える 3

2

おそらくブラケット?

#                1  2                                                 2                   
link = re.findall(r ("""onclick="window.location.href='([^'])'""",line)

findallのブラケットを閉じるのを忘れたようです。

于 2012-06-15T13:37:08.167 に答える
0

かっこと不一致と引用符の不一致の両方があるようです。以下に並べました。これは期待どおりに機能しますか?

#                1  2                                  3    3           21
#                    123        4                              4321
link = re.findall(r ("""onclick="window.location.href='([^'])'\"""",line))
于 2012-06-15T13:42:20.450 に答える
0

パターンを独自の行に分離すると、問題は実際には引用の1つにすぎないことが明らかになります。次のように分離してみてください。

for line in r:
    pattern = r"onclick=\"window.location.href='([^'])'"
    link = re.findall(pattern, line)
于 2012-06-15T13:45:28.547 に答える