HTML Seite auslesen. (Brauche Hilfe)

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
.:TBX:.
User
Beiträge: 5
Registriert: Freitag 20. August 2010, 13:45

Hallo ForenGemeinde
Ich bin neu in Sachen Python und bräuchte bitte eure Unterstützung in Sache urllib/2
feedparser ....

Ich versuche seid ca. 1 Woche eine Seite auszulesen. Und bekomme es einfach nicht hin.
Bzw. ich bekomme es schon hin nur nicht so wie ich es aber gern haben will.

Nach sämtlichen Versuchen bekomme ich immernur dieses zur Anzeige.
Was mir ja sagt mein Code hat die Seite ereicht und auch den Inhalt ausgelesen der angezeigt wird.

(Ergebniss)

Code: Alles auswählen

<HTML><HEAD><SCRIPT language="javascript" src="/sc_cb6d5932551676c5884fb39277109d53.js"></SCRIPT></HEAD><BODY onload="scf('3f0dc145','/')"></BODY></HTML>
Nur möchte ich den kompletten Tree sehen so das ich via feedparser, lxml .. ect. verschiedene Link´s bekomme.
Also sollte ich die Seite so angezeigt bekommen.

Code: Alles auswählen

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html dir="ltr" lang="de" xmlns="http://www.w3.org/1999/xhtml">

<head>
<title>BESCHREIBUNG DER SEITE </title>
<link rel="stylesheet" type="text/css" href="http://www.EINE-SEITE.de/clientscript/ajaxtabs_1.css" />

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="vBulletin 3.8.4" />
<meta name="keywords" content="" />
<meta name="description" content="BESCHREIBUNG DER SEITE " />

<LINK REL="SHORTCUT ICON" HREF="http://www.EINE-SEITE.de/favicon.ico">
<!-- CSS Stylesheet -->
Nur scheint mir die Seite richtig störrig zu sein. :D

TargetObjekt fängt mit kino an und hört mit .to auf. :wink:

Wie gesagt hoffe irgendwer kann mir behilflich sein die Beschreibungen auszulesen. :mrgreen:
Benutzeravatar
snafu
User
Beiträge: 6731
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Vermutlich bekommst du so wenig Seiteninhalt zurück, weil JavaScript im Spiel ist. Ich würde es an deiner Stelle mittels WebKit via Gtk oder Qt probieren. Das ist zwar ne Hammer-Abhängigkeit für die Aufgabe, aber AFAIK gibt es keinen "reinen" JavaScript-Interpreter, der mit Bezug auf HTML umgehen kann. Du kannst dir zwar `1+1` in JS errechnen lassen, aber wenn's mit Zugriffen auf `window` oder `document` anfängt, kommst du mit den gängigen Standalone-Interpretern nicht mehr weiter.
Benutzeravatar
/me
User
Beiträge: 3554
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

.:TBX:. hat geschrieben:(Ergebniss)

Code: Alles auswählen

<HTML><HEAD><SCRIPT language="javascript" src="/sc_cb6d5932551676c5884fb39277109d53.js"></SCRIPT></HEAD><BODY onload="scf('3f0dc145','/')"></BODY></HTML>
TargetObjekt fängt mit kino an und hört mit .to auf. :wink:
Das ist der tatsächliche Inhalt der Seite kino.to. Mehr kannst du nicht erwarten.

Wenn der Sitebetreiber den Zugriff durch Verwendung von JavaScript pessimiert, dann kommen HTML-Reader, wie z.B. auch Suchmaschinen, da nicht weiter.
.:TBX:.
User
Beiträge: 5
Registriert: Freitag 20. August 2010, 13:45

Das ist definitiv nicht der komplette Inhalt der Side.

Wenn ich mir im "Firebug" die Seite anzeigen lasse komme ich ja auch zu dem Ergebnis was ich haben möchte.
Nur weiß ich halt ned wie. Genauso ist es mit dem RSS Feed von dehnen was ja eine reine .xml sein sollte.

Auch diese bekomme ich leider nicht auf den Screen.
Feed wäre. kino.to/pub/XML/MovieFeed.xml.

Rufe ich die Seite so auf will FF das ich den Feed aboniere.
Will ich ihm auslesen ist es genauso wie auf der HTML wie oben.

Ich weiß ja nicht kann ich nicht die Seiten komplett anzeigen lassen wenn ich den
Pfad zum Objekt gleich mit sende?
also www.Seite.de/unterseite/ und dann /html/body/center/div/div[3]/div[2]/div[2]/div[2]/table/tbody/tr[2]/td/a ????

Irgendwie muß das doch gehen.

Danke nochmal für eure Hilfe und Zeit.
.robert
User
Beiträge: 274
Registriert: Mittwoch 25. April 2007, 17:59

.:TBX:. hat geschrieben:Das ist definitiv nicht der komplette Inhalt der Side.

Wenn ich mir im "Firebug" die Seite anzeigen lasse komme ich ja auch zu dem Ergebnis was ich haben möchte.
Der Firefox und somit auch Firebug kann ja auch JavaScript und zeigt dir die Seite nach dem Ausführen des JS an.
.:TBX:.
User
Beiträge: 5
Registriert: Freitag 20. August 2010, 13:45

Das heißt also das FF das ausführt?

Code: Alles auswählen

src="/sc_cb6d5932551676c5884fb39277109d53.js
Was dann dieses ergebniss haben sollte.
Nach Eingabe von Kino.to/sc_cb6d5932551676c5884fb39277109d53.js [ENTER]

Code: Alles auswählen

function scf(hsh,uri) {document.cookie="sitechrx" + "=" + escape(hsh + "1febd9043ee61596882abce5") + ";Path=/";window.location=uri;}
sitechrx=3f0dc145b5ba3da3b6fbfe4c1832bb8e <--- wäre dies

{document.cookie="3f0dc145b5ba3da3b6fbfe4c1832bb8e" + "=" + "was soll hsh sein??" + "1febd9043ee61596882abce5" + "kino.to"}

Auszug von FFFB.

Code: Alles auswählen

Host	kino.to
User-Agent	Mozilla/5.0 (Windows; U; Windows NT 6.1; de; rv:1.9.2.8) Gecko/20100722 Firefox/3.6.8 ImageShackToolbar/5.2.4
Accept	application/json, text/javascript, */*
Accept-Language	de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding	gzip,deflate
Accept-Charset	ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive	115
Connection	keep-alive
Content-Type	application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With	XMLHttpRequest
Referer	http://kino.to/
Content-Length	53
Cookie	sitechrx=3f0dc145b5ba3da3b6fbfe4c1832bb8e
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

Die Verschleierungsversuche könnten ein Hinweis darauf sein, dass die Betreiber der Seite nicht möchten, das man sie ausliest...
was soll hsh sein??"
Das ist das erste Argument von

Code: Alles auswählen

scf('3f0dc145','/')
Stefan
Benutzeravatar
noisefloor
User
Beiträge: 3843
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,
Das heißt also das FF das ausführt?
Das steht ja im Body-tag "onload". Das heißt nichts anderes, als dass das angegeben Script (JavaScript) beim Laden der Seite ausgeführt wird.

Wenn du die Seite ausliest, ziehst du dir ja "nur" den Quellcode. :-)

Gruß, noisefloor
Antworten