Für meine Bachelor-Thesis muss ich einige Daten aus etwa 40000 Websites abrufen. Daher verwende ich Python-Anfragen, aber im Moment ist es wirklich langsam mit einer Antwort vom Server.Multithread-Python-Anfragen
Gibt es trotzdem, um es zu beschleunigen und meine aktuelle Header-Einstellung zu behalten? Alle Tutorials, die ich ohne Header gefunden habe.
Hier ist mein Code snipped:
def parse(url):
headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) '
'Chrome/39.0.2171.95 Safari/537.36'}
r = requests.get(url, headers=headers)
for line in r.iter_lines():
...
Vielleicht 'aiohttp'? – grooveplex
Wie wäre es mit 'Multiprocessing'? http://stackoverflow.com/questions/28393617/python-requests-module-multithreading – bsa
@bsa keine Notwendigkeit für Multiprocessing, der Overhead des neuen Prozesses ist zu groß, Threads sind besser für io gebunden. –