Teraz chcę tylko uzyskać zmianę RSS Feed i nie pobranie powtórzenia Concent, znalazłem doc z https://pythonhosted.org/feedparser/http-etag.html i powiedz mi Wyślij ETAG na serwerze. Ale nie znalazłem żadnego ETAG z reakcji kanału RSS, a ostatnich również nie znaleziono, gdzie znalazł ETAG i ostatnio zmodyfikowany? To jest adres RSS: "https: //blog.izgq.net/feed/"

enter image description here

0
Dolphin 19 kwiecień 2021, 07:38

1 odpowiedź

Najlepsza odpowiedź

Teraz używasz żądania HTTP i ustaw limit czasu, więc znajdź ETAG z odpowiedzi HTTP:

resp = requests.get(source.sub_url, headers=headers, timeout=15.0)
            if resp.status_code == 304:
                logger.info("RSS source not changed")
                return
            # Put it to memory stream object universal feedparser
            content = BytesIO(resp.content)
            if resp.headers.keys().__contains__("Etag"):
                etag = resp.headers['Etag']
            if resp.headers.keys().__contains__("Last-Modified"):
                last_modified = resp.headers['Last-Modified']
0
Dolphin 19 kwiecień 2021, 07:13