Python scraper 总能找到网站的前一个版本和当前版本之间的差异,而没有

我正在编写一个机器人,它检查自上次抓取以来给定网站上是否有任何更改。为此,它抓取网站,将其 html 代码存储在本地文件中,然后一遍又一遍地抓取它,如果新旧版本之间存在差异,它会覆盖本地文件并打印“已触发”。问题是我的脚本总是会发现差异并覆盖文件,即使没有更改。


可重现的例子:


import requests

import time

import os


def compare(file, url):

    if os.path.isfile("./" + file):

        scrape = requests.get(url).text

        with open(file) as f:

            txt=f.read()

        if not txt == scrape:

            with open(file, "w") as f:

                f.write(scrape)

            print("Triggered")

    else:

        scrape=requests.get(url).text

        with open(file, "w") as f:

            f.write(scrape)


ceu = "https://hro.ceu.edu/find-job"

ceu_file = "ceu.html"


while True:

    compare(ceu, ceu_file)

    time.sleep(10)

因此,问题在于每次抓取网站时都会触发脚本 - 即使该网站不会每 10 秒更改一次。为什么然后txt==scrape在函数中始终为 false 从而触发脚本?


小唯快跑啊
浏览 108回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python