私はウェブサイト上のPHPファイルからデータを取得するためのスクリプトを書いています。私は、ページの現在のデータがページからデータを最後に取得したときのデータから変化した場合にのみ、データを出力するようにスクリプトを書きました。ページには認証が必要なので、PHPSESSIDが追加されているのはそのためです。そのページを表示できるようになります。 Cloudflareが実装されましたurllib2はcloudflareを迂回します
website.comにアクセスする前にブラウザを確認してください。
このプロセスは自動的です。まもなく、ブラウザは要求されたコンテンツにリダイレクトします。
これは私のスクリプトが壊れた... 5秒まで許可し、ページからデータをつかむことができませんしてください。私はcfscrapeを見て、それを動作させるために現在のスクリプトに実装する方法を理解できません。誰かが助けを提供することができれば素晴らしいだろう!私は助けを手に入れなければならないのは嫌いですが、私はこの機能をできるだけ早く機能させる必要があります。
#!/usr/bin/python
from time import sleep
import re
import hashlib
import urllib2
import winsound
def doMd5(data):
mdo = hashlib.md5()
mdo.update(data)
return mdo.hexdigest()
def doRequest():
try:
head = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36',
'Cookie': 'PHPSESSID=ldc1bp9mj7n4ocffvftm25te62'}
req = urllib2.Request('http://www.example.com/random/random.php', headers=head)
res = urllib2.urlopen(req)
data = res.read()
return data
except:
return "exception"
last_log = ""
while True:
data = doRequest()
if data == "exception" or data == "":
print "Exception!"
continue
new_hash = doMd5(data)
if new_hash != last_log:
print "New Data"
winsound.Beep(100, 80)
handler = open('data.html', 'a')
handler.write(data + '\n')
handler.close()
last_log = new_hash
else:
sleep(3)
print "Refreshing..."
continue
[cfscapeの使用状況](https://github.com/Anorov/cloudflare-scrape#usage)を持つすべてのurllibは使用量を置換...あなたがする必要があるすべては右、ウェブサイトのコンテンツを取得するのですか? –