2016-04-18 9 views
-1

Ich habe URL-Links in meiner Datei und ich muss jeden Link öffnen und holen Sie die Ausgabe, und ich muss das in einer Datei speichern. Aber wenn ich versuchte, Ausgabe auszugeben, kommen leere Zeilen. finden Sie den Code unten ein und helfen Sie mir auf dieserPython: leere Ausgabe druckt beim Lesen der Web-Browser-Ausgabe

import urllib2 

import webbrowser 

with open('C:\\Users\\home\\Desktop\\11.txt','r') as fp: 
    for line in fp: 

     password_mgr = urllib2.HTTPPasswordMgrWithDefaultRealm() 
     top_level_url = "https://facebook.com" 
     password_mgr.add_password(None, top_level_url, "appsdev", "--omitted--") 
     handler = urllib2.HTTPBasicAuthHandler(password_mgr) 
     opener = urllib2.build_opener(handler) 
     r=opener.open(top_level_url) 
     r.read() 
     print r.read() 
+0

Bitte formatieren Sie den Code geschrieben werden, werden – e4c5

+0

Fertig mit meiner Bearbeitung –

+0

Sieht aus, als ob Sie die 'Linie' für nichts verwenden. Im Allgemeinen versuchen Sie, die FB-Seite eines Benutzers mit einem Bot zu scrappen. Das ist ein Szenario, das Unternehmen wie FB versuchen zu verhindern, weil es verdächtige Aktivitäten sind. Sie können auf einige Präventionsmechanismen stoßen. Interessanter Code BTW. –

Antwort

0

Wenn der Code, den Sie richtig geschrieben ist und die zweite r.read() ist kein Tippfehler, dann ist es, weil Sie zwei liest haben.

Bei dateiähnlichen Objekten (wie dem Rückgabewert von opener.open()) gibt der Aufruf read() den gesamten Inhalt zurück und setzt die aktuelle Position auf das Ende der Datei. Nachfolgende Aufrufe an read() werden leere Zeichenfolgen zurückgeben, da sich der Cursor bereits am Ende der Datei befindet.

In Ihrem Code

r.read() # This returns the entire contents 
print r.read() # Empty string 

Gerade die ersten r.read() loszuwerden.

+0

Ich möchte meinen read() Befehl löschen? Wie komme ich zu diesem Problem? –

+0

Um .. einfach löschen die erste 'r.read()' –

+0

Aber das Hauptproblem, mit dem ich hier konfrontiert bin, wollte ich diese Ausgabe in die Datei schreiben (dh wenn ich 1. Link in einer Eingabedatei öffnen und ich wollte schreiben die entsprechende Ausgabe zu Ausgabedatei) –

0

Schreiben in eine andere Datei vor, weisen diese Inhalte in jede Variable,

wie

out_data = r.read() 
new_file = open('file.txt','w') 
new_file.write(out_data) 
new_file.close() 

das ist es Ihre geschabt Daten in file.txt

+0

Ich versuchte mit dem obigen Code, aber immer noch kein Glück :(Leer Datei ist in der Position gespeichert @Mohideen ibn Mohammed –

+0

Seine Arbeit, aber ich brauche meine Ausgabe in einer organisierten Art und Weise (wie out Put der ersten URL in der ersten Zeile und so weiter ......) –

+0

Ich habe Urd aber ur Beispiel Code nicht so .. weil Ihre URL nicht von geparsten TXT-Datei ist, sondern Sie hardcoded verwenden .. Sie wollen separate TXT-Datei für jede URL erstellen, mit offenen ('C: \\ Benutzer \\ home \ Desktop \ \ 11.txt ',' r ') als fp: für Zeile in fp: –

Verwandte Themen