PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Mit python den Browser ansteuern/tastatur bedienen/ downloaden



0u1law
25.06.2020, 13:30
grüsse euch liebe community,

ich bin python anfänger und probiere mich etwas rum. jetzt will ich ein programm schreiben dass völlig automatisch folgendes machen kann.

undzwar will ich den browser öffnen einen link eingeben dann den quellcode anzeigen lassen (mittels tastenkombination ?) und diese dann herunterladen. das natürlich möglichst effizient also wenn ich eine liste von links habe dass mir nicht nacher hunderte seiten geöffnet bleiben.

der quellcode muss natürlich nicht manuell heruntergeladen werden gerne auch kopieren und als textdatei speichern zum beispiel.

das wars eigentlich. meine frage ist jetzt welche bib brauche ich dafür ?

codebeispiele sind gern gesehen.

eine andere frage nur für den fall das jemand eine ahnung hat gibt es für diesen vorgang auch tools in der bashscript sprache? ich kann es mir vorstellen

danke für eure hilfe schonmal

mit freundlichen grüssen

0u1law

chronixos
25.06.2020, 15:14
Hi Ou1law

Das kannst du mit Selenium machen. Ist recht easy zum coden.

0u1law
25.06.2020, 17:15
super danke dir!

<noscript>
25.06.2020, 22:07
Also wenn du nur den Quellcode haben willst ist Selenium bisschen Overkill. Dafür brauchst du ja gar keinen Browser und Selenium ist für Browers-Automatisierung.


import urllib2
response = urllib2.urlopen("http://google.de")
pageSource = response.read()


dann hast du die page source.

wenn du du den Sourcecode zu in eine Datei schreiben wills brauchst du noch folgendes:



f = open("source.txt", "w")
f.write(pageSource)
f.close()


ist eigentlich relativ selbsterklärend. Wenn du Kommentare zu den einzelnen Zeilen haben willst sag bescheid.

Mfg

0u1law
26.06.2020, 14:23
also hab mir dein beispiel angesehen und auch etwas im internet geschaut aber das ist für python2 wenn ich recht habe ?

gORDon_vdLg
26.06.2020, 22:33
Weiß gerade nicht ob die urllib nur für python2 war, falls ja kannst du auch statt dessen "requests" nehmen, muss aber zusätzlich per pip installiert werden. Fand ich immer etwas angenehmer als urllib und läuft auf jeden Fall mit Python 3.

Ein Dateidownload könnte dann z.B. so aussehen:


import requests

r = requests.get('https://google.de')
open('gurgel.html', 'wb').write(r.content)

Dailox
03.07.2020, 10:42
also hab mir dein beispiel angesehen und auch etwas im internet geschaut aber das ist für python2 wenn ich recht habe ?

Ja, das ist für Python 2. In Python 3 würde der Request so aussehen:



from urllib.request import urlopen
html = urlopen("http://www.google.com").read()