mechanize links()
Verfasst: Dienstag 5. August 2008, 13:39
Hallo,
Eventuell kennst sich hier ja jemand besser mit mechanize als ich aus aber ich probiere momentan eine Website nach bild-urls zu durchsuchen, sprich:
*.jpg, *.png, *.gif etc.
Das wollte ich mit mechanize machen:
Jetzt ist mir aber aufgefallen das links() nur wirkliche Links zurück gibt, also Links die auf andere HTML Dokumente bzw. Webserver verlinken.
Gibt es da einen Trick wie ich möglichst einfach an die komme?
EDIT: Tut mir Leid habe mich vertan, aber es gibt immer noch falsche Links zurück:
MfG,
CracKPod
Eventuell kennst sich hier ja jemand besser mit mechanize als ich aus aber ich probiere momentan eine Website nach bild-urls zu durchsuchen, sprich:
*.jpg, *.png, *.gif etc.
Das wollte ich mit mechanize machen:
Code: Alles auswählen
...
for link in browser.links():
print link.url
Gibt es da einen Trick wie ich möglichst einfach an die komme?
EDIT: Tut mir Leid habe mich vertan, aber es gibt immer noch falsche Links zurück:
Code: Alles auswählen
#!/usr/bin/python
import mechanize
class Grabber(object):
def __init__(self, url):
self.browser = mechanize.Browser()
self.browser.set_handle_gzip(True)
self.browser.set_handle_robots(False)
self.url = url
def _get_links(self):
self.browser.open(self.url)
links = []
for link in self.browser.links():
links.append(link)
return links
def _filter_links(self, links, types):
filtered = []
for link in links:
for type in types:
if link.url.endswith(type):
if not filtered.count(link):
filtered.append(link)
return filtered
x = Grabber('http://crackpod.bplaced.net')
links = x._get_links()
for link in x._filter_links(links, 'png'):
print link.url
MfG,
CracKPod