파이썬-배고픈 배달점 정보 찾기

2233 단어 파충류
데이터가 시각화되는 것을 배우고 데이터가 부족해서 실습을 하고 배고프면 배달점 정보를 주문하려고 한다.
주로 데이터를 얻기 때문에 코드가 비교적 누추하고 직접 코드를 올린다.
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)

여기에 간단하게 몇 마디를 주석한다.
4
  • url의 경위도를 제거하면 기어오를 지점의 경위도를 추가할 수 있고 지도api를 호출하여 경위도를 얻을 수 있다

  • 4
  • headers는 Cookies를 추가해야 합니다. 그렇지 않으면 로그인 권한이 있어 페이지의 수를 제한할 수 있습니다

  • 4
  • 마지막으로 호출된 것은 귀속이 순환이 아니기 때문에 결과를 저장한 csv 파일에는 여러 개의 중복 헤더가 있을 수 있습니다. Excel로 열어 중복 값을 삭제하면 됩니다

  • ps:제일 많이 파는 게 패스트푸드점이에요...

    좋은 웹페이지 즐겨찾기