Heim >Backend-Entwicklung >Python-Tutorial >Python-Crawls, hast du Hunger?
Ich lerne die Datenvisualisierung und mir fehlen einige Daten für den praktischen Betrieb, deshalb möchte ich einige Informationen zum Imbissladen von Ele.me crawlen.
Hauptsächlich zum Abrufen von Daten, daher ist der Code relativ einfach. Gehen Sie einfach zum Code:
import requests import json import csv def crawler_ele(page=0): def get_page(page): url = 'https://h5.ele.me/restapi/shopping/v3/restaurants?latitude=xxxx&longitude=xxxx&offset={page}&limit=8&terminal=h5'.format(page=page*8) headers = { "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.80 Safari/537.36", 'cookie': r'xxxx' } re = json.loads(requests.get(url,headers=headers).text) return re re = get_page(page) if re.get('items'): with open('data.csv','a',newline='') as f: writer = csv.DictWriter(f,fieldnames=['名称', '月销售量','配送费', '起送价', '风味','评分', '配送时长', '评分统计', '距离', '地址']) writer.writeheader() for item in re.get('items'): info = dict() restaurant = item.get('restaurant') info['地址'] = restaurant.get('address') info['配送费'] = restaurant.get('float_delivery_fee') info['名称'] = restaurant.get('name') info['配送时长'] = restaurant.get('order_lead_time') info['距离'] = restaurant.get('distance') info['起送价'] = restaurant.get('float_minimum_order_amount') info['评分'] = restaurant.get('rating') info['月销售量'] = restaurant.get('recent_order_num') info['评分统计'] = restaurant.get('rating_count') info['风味'] = restaurant.get('flavors')[0].get('name') writer.writerow(info) # print(info) if re.get('has_next') == True: crawler_page(page+1) crawler_ele(0)
Ein paar einfache Kommentare hier:
Der Längen- und Breitengrad in der URL Wurden entfernt, können Sie es selbst abfragen. Fügen Sie den Breiten- und Längengrad des zu crawlenden Ortes hinzu, oder Sie können den Breiten- und Längengrad durch Aufrufen der Karten-API erhalten Die Berechtigung begrenzt die Anzahl der gecrawlten Seiten.
Der letzte Aufruf ist rekursiv. Es handelt sich nicht um eine Schleife, daher enthält die CSV-Datei, die die Ergebnisse speichert, mehrere doppelte Header die doppelten Werte.
Empfohlene verwandte Tutorials:
Python-Video-TutorialDas obige ist der detaillierte Inhalt vonPython-Crawls, hast du Hunger?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!