以下のコードを使用して、Web サイト内のデータの検索とカウントを実行しようとしています。デバッグ用にコードにいくつかの余分なプリントを追加したことがわかります。現在、結果は常に「0」であり、ある種のファイルの読み取りエラー。html という変数を出力すると、検索している 3 つの文字列すべてが html に含まれていることがはっきりとわかりますが、前述のように、どの出力も何も出力せず、最終的な出力カウントは単純に「0」を返します。ご覧のとおり、私は 3 つの異なる方法を試しましたが、毎回同じ問題が発生しました。
import urllib2
import urllib
import re
import json
import mechanize
post_url = "url_of_fishermans_finds"
browser = mechanize.Browser()
browser.set_handle_robots(False)
browser.addheaders = [('User-agent', 'Firefox')]
html = browser.open(post_url).read().decode('UTF-8')
# Attempted method 1
print html.count("SEA BASS")
# Attempted method 2
count = 0
enabled = False
for line in html:
if 'MAIN FISHERMAN' in line:
print "found main fisherman"
enabled = True
elif 'SEA BASS' in line:
print "found fish"
count += 1
elif 'SECONDARY FISHERMAN' in line:
print "found secondary fisherman"
enabled = False
print count
# Attempted method 3
relevant = re.search(r"MAIN FISHERMAN(.*)SECONDARY FISHERMAN", html)[1]
found = relevant.count("SEA BASS")
print found
それはおそらく非常に単純なものです。コメントやヘルプをいただければ幸いです。よろしくAEA