2011-01-09 17 views
0

Wenn ich eine Feed-URL zu Google Reader oder zu einem Desktopfeed-Aggregator hinzufüge, erhalte ich gute Ergebnisse. Die URL lautet:Unterschiedliche Ergebnisse für denselben RSS-Feed, der von verschiedenen Benutzeragenten abgerufen wird

http://estaticos03.marca.com/rss/futbol_1adivision.xml

Aber wenn ich hole die gleiche URL von einem Skript (Python-Skript, feedparser Bibliothek) Ich bin für die gleichen Ergebnisse (den Titel für jeden Eintrag etwas anderen Inhalt bekommen, zum Beispiel , ist anders und alles in Großbuchstaben).

Ich glaube, auf der Serverseite wird etwas unternommen, um Leute wie mich davon abzubringen, den Inhalt für meine eigenen Projekte zu analysieren (der Feed stammt von einer beliebten Fußballzeitung), aber ich bin mir nicht sicher. Ich habe versucht, einige User Agents (wie der Google Reader) zu übergeben, aber immer noch kein Glück, also vielleicht überprüfen sie auch die IP? Ich bin ziemlich verwirrt.

Irgendeine Idee, warum geschieht mir das?

Danke!

+1

Vielleicht fragen Sie sie? Und wie können sie die IP überprüfen? Ihr Browser und Ihr Python-Skript haben dieselbe IP-Adresse. :) –

+0

Wenn ich sie fragte, glaube ich nicht, dass sie mir trotzdem antworten würden. Und für die IP hast du Recht, aber vielleicht checken sie zuerst den User Agent und wenn es ist, sagen wir Google Reader, dann könnten sie die IP überprüfen. Aber ich glaube nicht, dass sie so ausgefeilt sind ... – nabucosound

+0

könntest du die rss-URL angeben, auf die du zugreifen willst? Ich wäre daran interessiert zu sehen, was vor sich geht. – smilbandit

Antwort

0

AFAIK Google Reader macht einige "Magie" in den Inhalt, um es zu verschönern. Sie entfernen einige Tags und Stile, um ihre Schnittstelle nicht zu beschädigen.

Können Sie weitere Details zu den Unterschieden angeben?

+0

Nein, es hat nichts mit verschönernden Inhalten zu tun. Der Titel ist völlig anders, wenn ich von Google Reader oder NewsFire (Desktop-Reader) abhole als von meinem Python-Skript (es ist kürzer und in Großbuchstaben). Das ist der einzige Unterschied, den ich bisher gesehen habe, aber das macht mich verrückt. Der Titel, den Google Reader anzeigt, existiert nicht in meinen Python-Skript-Ergebnissen, also schätze ich, dass der RSS-Server Google Reader und NewsFire zu einer besseren Feed-Quelle als mir erlaubt ... – nabucosound

0

Haben Sie den User Agent Ihres Skripts geändert? Versuche Firefox zu imitieren und zu sehen, was passiert.

+0

Ja, ich habe versucht, zum Beispiel "FeedFetcher-Google ; (+ http: //www.google.com/feedfetcher.html) "oder" Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv: 2.0b8) Gecko/20100101 Firefox/4.0b8 "aber kein Erfolg .. . – nabucosound

0

Alles klar Leute, ich habe es gefunden. Ich habe die Quell-XML analysiert (als @TryPyPy). Ich hatte der Feedparser-Bibliothek zu viel vertraut. Neueste offizielle Version (4.1) hat einen Bug im Zusammenhang mit mistakeing den Titel-Tag aus Medien Namespace anstelle des Original:

http://code.google.com/p/feedparser/issues/detail?id=76

Also ich vom Stamm neu installiert und jetzt ist alles in Ordnung. Danke, dass du trotzdem hilfst!