Der Debian-Tracker offeriert auch RSS-Feeds für jedes Paket. Diese sind jedoch defekt bzw. nur mit Tricks verwertbar.
Kurz: Ein ETag liefert der Server gar nicht, dafür aber ein Modified-Date. Das widerum ist aber wirkungslos bei der zweiten Abfrage, da die selbe Anzahl von Einträgen (also auch solche vor dem Modified-Date) wieder geliefert werden.
Ich selbst arbeite mit aiohttp in diesem Kontest.
In Python mit Paket Feedparser sieht das so aus.
Code: Alles auswählen
Python 3.5.3 (default, Sep 27 2018, 17:25:39)
[GCC 6.3.0 20170516] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> url = 'https://tracker.debian.org/pkg/feedparser/rss'
>>> import feedparser as fp
>>> f = fp.parse(url)
>>> f.etag
Traceback (most recent call last):
File "/usr/local/lib/python3.5/dist-packages/feedparser.py", line 398, in __getattr__
return self.__getitem__(key)
File "/usr/local/lib/python3.5/dist-packages/feedparser.py", line 356, in __getitem__
return dict.__getitem__(self, key)
KeyError: 'etag'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python3.5/dist-packages/feedparser.py", line 400, in __getattr__
raise AttributeError("object has no attribute '%s'" % key)
AttributeError: object has no attribute 'etag'
>>> f.modified
'Sat, 30 Mar 2019 13:06:51 GMT'
>>> ff = fp.parse(url, modified=f.modified)
>>> len(f.entries)
30
>>> len(ff.entries)
30