2016-10-04 2 views
-2

gerade fertig lernen Web Scraping von automatisieren die langweiligen Sachen Buch, aber ich bin immer noch wirklich verwirrt über iter_content Funktion? Was macht es eigentlich?Was genau macht die iter_content() Funktion?

versuchen Web-Seite mit normaler zum Download:

note = open('download.txt', 'w') 
note.write(request) 
note.close() 

aber das Ergebnis unterscheidet sich von der Verwendung:

note = open('download.txt', 'wb') 
for chunk in request.iter_content(100000): 
    note.write(chunk) 
note.close() 

???

Antwort

2

iter_content (chunk_size = 1, decode_unicode = False)

Durchläuft die Antwortdaten. Wenn für die Anforderung "stream = True" festgelegt ist, wird vermieden, dass der Inhalt für große Antworten sofort in den Speicher gelesen wird. Die Chunk-Größe ist die Anzahl der Bytes, die in den Speicher gelesen werden sollen. Dies ist nicht notwendigerweise die Länge jedes zurückgegebenen Elements, da eine Decodierung stattfinden kann.

chunk_size muss vom Typ int oder None sein. Ein Wert von None funktioniert je nach dem Wert des Streams unterschiedlich. stream = True liest Daten, wenn sie in der Größe ankommen, in der die Chunks empfangen werden. Wenn Stream = False ist, werden Daten als einzelner Chunk zurückgegeben.

Wenn decode_unicode wahr ist, wird der Inhalt mit der besten verfügbaren Codierung basierend auf der Antwort decodiert.

Link - http://docs.python-requests.org/en/master/api/

In diesem Fall ist es über die Reaktion mit 100.000 Bytes jedes Mal durchlaufen wird.