2

私はPythonを初めて使用しますが、これがおそらく非常に簡単であることを示唆するものは何も見つかりませんでした。

私が廃棄しているページはかなり単純ですが、2分ごとに完全に更新されます。私はなんとかすべてのデータを廃棄することができましたが、問題は、プログラムが2分ごとに実行されても(taskeng.exeを試し、スクリプトをループしてみました)、Webサイトから取得するhtmlが12分ごとに更新されるように見えることです。分。わかりやすくするために、私が廃棄しているWebサイトには、更新時にタイムスタンプが付いています。私のプログラムはそのスタンプを(他のデータと一緒に)プルし、csvファイルに書き込みます。しかし、同じデータを12分間プルすると、突然データが到着します。したがって、出力は次のようになります。

16:30, Data1, Data2, Data3
16:30, Data1, Data2, Data3
...
16:30, Data1, Data2, Data3
16:42, Data1, Data2, Data3
16:42, Data1, Data2, Data3

あるべき場所:

16:30, Data1, Data2, Data3
16:32, Data1, Data2, Data3
16:34, Data1, Data2, Data3
16:36, Data1, Data2, Data3
16:38, Data1, Data2, Data3
16:40, Data1, Data2, Data3
16:42, Data1, Data2, Data3

これはmysideのキャッシュに関係していると思います。httpリクエストを完全に更新するように強制したり、Pythonにキャッシュに保存しないように強制したりするにはどうすればよいですか?

私はBeautifulSoupとMechanizeを使用しています。httpリクエストの私のコードは以下のとおりです。

mech = Browser()

url = "http://myurl.com"

page = mech.open(url)

html = page.read()
soup = BeautifulSoup(html)

すべてのコードを投稿するのに役立つ場合は、それを行うことができます。アドバイスをよろしくお願いします

4

1 に答える 1

1

のような単純なツールを使用できますrequests

import requests
response = requests.get(url)
html = response.text

しかし、本当に機械化に固執したい場合は、Browser()のものをスキップすることもできます(これはおそらくリクエストにCookieを導入しています)。詳細については、機械化ドキュメントを確認してください。

response = mechanize.urlopen("http://foo.bar.com/")
html = response.read() # or readlines 
于 2012-07-17T16:52:27.600 に答える