我在用python监控一个网页 这个网页不定时的会更新 我要寻找需要匹配的关键词比如‘ABC’ 大概的程序框架如下
基本方法就是 用 selenium 获取源码 然后beautifulsoup解析 然后再去结果里面match 每2秒循环一次
while true:
html = browser.page_source
soup = BeautifulSoup(html)
abc=soup.find_all(text=re.compile("(ABC)"))
if not abc:
.....
else:
.....
browser.refresh()
time.sleep(2.0 - ((time.time() - starttime) % 2.0))
现在问题就是这个程序很依赖网速,browser.refresh() 刷新一次有可能就会用1秒钟
有没有什么办法 不需要刷新网页 就能知道网页有变化
或者有没有其他办法能让我这个程序 不被网速拖累
Http
Last-Modified
headers
'If-Modified-Since'
Status Code:304 Not Modified
状态码 304 表示页面未改动
时间改为 昨天(4号)
服务器返回状态码200
并且有
'Last-Modified': 'Sun, 05 Feb 2017 06:00:03 GMT'
表示 最后修改的时间。
不管怎么样 都是要去访问源站取数据 ,不抓数据又怎么知道是否有变化。
这种更新可能是用ajax来更新的,个人觉得可以看看网站的js代码,找到请求网址和参数,可以的话直接去请求?