2

わかりました。これが最初の質問です。HTML ソース コードで「You have an error」というフレーズを検索するこのプログラムを作成しようとしています。

    html_data=urllib2.open(site).read()
    if html_data.find(string):
       print "It's found"

見つかりません..html_dataを印刷すると、タグがまったくない状態でそこに見つかります。誰でもこれについて私を助けることができますか?

4

4 に答える 4

2

str.find()インデックス (見つからない場合は -1) を返します。したがって、次は正しくありません。

if html_data.find(string):

そのはず:

if html_data.find(string) != -1:

あるいは、マッチの位置を知る必要がない場合:

if string in html_data:
于 2013-01-26T14:07:18.030 に答える
1

大文字/小文字はあなたが見ているページと一致していますか? これを読もうとしているページを教えていただけますか?このコードは正常に動作しているように見えるため:

    >>> string = 'You have an error'
    >>> page = """

    You have an error

        """
    >>> if string in page:
        print "It's found"


    It's found
于 2013-01-26T05:17:54.693 に答える
0

JavaScriptの読み込みと実行時に、コードが動的に生成される場合があります。その場合、JavaScriptを実行して、ブラウザのソースの表示から取得するのとまったく同じページソースを取得する必要があります。このためのブラウザ拡張機能を作成すると、必要に応じて、見つかったものをPythonサーバーに送信できます。その利点は、ブラウザのJavaScriptVMを使用できることです。

于 2013-01-26T05:53:30.410 に答える
0

findこのメソッドは、文字列が見つからない場合は 0 ではなく -1 を返します。したがって、次のように使用する必要があります。

if html_data.find(string) != -1:
于 2013-01-26T14:04:05.087 に答える