用python2.7来实现,当http://192.168.20.137:6179/页面上<h2 id=“slate”>变化时,打印变化的<h2 id=“slate”>内容,不用BeautifulSoup,只用requests
时间: 2024-09-10 22:15:33 浏览: 57
要实现这样的功能,你需要定期发送HTTP请求到指定的URL,并比较返回内容中`<h2 id="slate">`标签包裹的内容是否有变化。Python的`requests`库可以用来发送HTTP请求,并获取响应内容。以下是一个简单的示例代码:
```python
import requests
import hashlib
def get_content_hash(url):
# 发送HTTP GET请求
response = requests.get(url)
# 将响应内容转换为字符串
text = response.text
# 对特定的字符串(如:h2 id="slate"标签包裹的内容)进行哈希处理
content_hash = hashlib.sha256(text.encode('utf-8')).hexdigest()
return content_hash
def check_for_changes(url, last_hash):
# 获取当前页面的哈希值
current_hash = get_content_hash(url)
# 比较当前哈希值和上次记录的哈希值是否相同
if current_hash != last_hash:
print("内容变化了!")
# 更新哈希值
return current_hash
else:
print("内容没有变化。")
return last_hash
# 初始URL地址
url = 'http://192.168.20.137:6179/'
# 初始哈希值为空
last_hash = ''
# 设置检查间隔(以秒为单位)
interval = 10
while True:
last_hash = check_for_changes(url, last_hash)
# 等待一定时间后再次检查
time.sleep(interval)
```
这段代码会无限循环地检查指定URL的内容是否有变化。为了获取`<h2 id="slate">`标签内的内容,你可能需要进一步解析HTML响应内容,并提取出特定标签内的文本,然后仅对这部分文本进行哈希处理。
由于`requests`库没有内置的HTML解析功能,你需要使用其他库如`lxml`或`html.parser`来解析HTML并提取特定元素。但是你提到不使用如`BeautifulSoup`这样的库,因此这里省略了HTML解析的代码。
阅读全文