php抓取网页数据插入数据库(我编写了一个脚本来从网站上的php文件中获取数据 )
优采云 发布时间: 2022-04-18 18:12php抓取网页数据插入数据库(我编写了一个脚本来从网站上的php文件中获取数据
)
我编写了一个脚本来从 网站 上的 php 文件中获取数据。我编写了脚本,以便它仅在页面上的当前数据与上次从页面获取数据时发生更改时才输出数据。该页面确实需要身份验证,这就是我添加 PHPSESSID 的原因。这将允许查看页面。Cloudflare 已实施
访问前检查您的浏览器。
这个过程是自动的。您的浏览器将很快重定向到您请求的内容。请允许最多 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