Seite 1 von 1
koordinaten von links beziehen
Verfasst: 13. April 2011 12:24
von alexQt
Hallo,
ich möchte gerne die koordinaten von allen links einer url beziehen.
ich benutze pyqt unter ubuntu
Code: Alles auswählen
self._page = QWebPage()
self._page.mainFrame().load(QUrl("www.bla.de"))
document = self._page.mainFrame().documentElement()
document.findAll("a")
...
funktioniert das so ungefähr?
Gruß
Verfasst: 13. April 2011 12:58
von franzf
Theoretisch sollte es so funktionieren (probiers doch einfach aus

), nur weiß ich nicht, wie das Verhalten bei iframes ist. Mein Ansatz wäre gewesen, von myWebView.page().mainFrame() über die childFrames() zu iterieren, und dort gleich findAllElements("a") zu holen.
Verfasst: 13. April 2011 16:18
von alexQt
Code: Alles auswählen
self.list = None
document = self._page.mainFrame().documentElement()
self.list = document.findAll("a")
funktioniert nicht.
ist immer noch None

Verfasst: 14. April 2011 09:03
von alexQt
Hallo,
es sieht jetzt folgendermaßen aus:
Code: Alles auswählen
self.list = self._page.mainFrame().findAllElements("a")
self.coordinates = str(self.list[0].geometry()) + " ----- " + str(self.list[1].geometry()) #-> funktioniert! Habe 2 links in der Seite
sys.stdout.write("Anzahl Elemente: " + str(self.list.__sizeof__()))
als Ergebnis bekomme ich 360, obwohl ich nur 2 links in meiner Seite habe. Wenn ich bei der var self.coordinates noch ein paar dranhänge, werden die auch angezeigt, jedoch mit 0 Werten. Es sollten jedoch keine Angezeigt werden...
Code: Alles auswählen
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
<title>Verweis-sensitive Grafiken definieren - map, area, usemap</title>
</head>
<body>
<h1>Schnell zur Stadt oder Region Ihrer Wahl!</h1>
<p>
ich bin ein text
<a href="#" alt="bla" title="bla">bla</a>
<a href="#" alt="blub" title="blub">blub</a>
</p>
</body>
</html>
Verfasst: 14. April 2011 09:10
von alexQt
zusatz!
ich will eigentlich alle Links -> a haben.
sucht der mir dann alle Buchstaben anstatt links?
wie sag ich ihm, dass er links finden soll?
Gruß
Verfasst: 14. April 2011 10:39
von alexQt
Alles klar, funktioniert!