Пример #1
0
def collect_uber_data():
    total_estimates = []
    estimates = {}
    #Global Learning Center GA TECH: 33.7762° N, 84.3895° W

    for place in places:
        estimates = {}
        response = client.get_price_estimates(
            start_latitude=33.7762,
            start_longitude=-84.3895,
            end_latitude=place["location"][0],
            end_longitude=place["location"][1])

        estimate = response.json.get('prices')
        #print(estimate)
        #estimate10
        estimates["place"] = place["name"]
        estimates["geometry"] = place["location"]
        autotimeinit = datetime.now()
        autotime = autotimeinit.strftime('%H:%M')
        estimates["autotime"] = autotime
        autohour = autotimeinit.strftime('%H')
        autohour = autohour + ":00"
        estimates["time"] = autohour
        estimates["value"] = estimate
        autoday = autotimeinit.strftime('%A')
        estimates["day"] = autoday
        estimates["value"] = estimate
        # last_hour_date_time = datetime.now() - timedelta(hours = 1)
        # list_datetime_capture.append(last_hour_date_time.strftime('%Y-%m-%d %H:%M:%S'))
        total_estimates.append(estimates)

    # print(len(total_estimates))

    engine1 = create_engine('sqlite:///UberPricesNew.sqlite')
    session1 = Session(engine1)

    # Note that adding to the session does not update the table. It queues up those queries.
    for values in total_estimates:
        for value in values["value"]:
            session1.add(
                UberPricesNew(place=values["place"],
                              lat=values["geometry"][0],
                              lon=values["geometry"][1],
                              dist=value["distance"],
                              display_name=value["display_name"],
                              duration=value["duration"],
                              estimate=value["estimate"],
                              high_estimate=value["high_estimate"],
                              low_estimate=value["low_estimate"],
                              autotime=values["autotime"],
                              time=values["time"],
                              day=values["day"],
                              company="Uber"))
    # commit() flushes whatever remaining changes remain to the database, and commits the transaction.
    # print("uber done")
    session1.commit()
Пример #2
0
        # last_hour_date_time = datetime.now() - timedelta(hours = 1)
        # list_datetime_capture.append(last_hour_date_time.strftime('%Y-%m-%d %H:%M:%S'))
        lyft_total_estimates.append(estimates)
    # lyft_total_estimates
    print(len(lyft_total_estimates))



    # Create our database engine
    engine = create_engine('sqlite:///LyftPricesNew.sqlite')

    # Base.metadata.create_all(engine)
    # The ORM’s “handle” to the database is the Session.
    from sqlalchemy.orm import Session
    session = Session(engine)

    # Note that adding to the session does not update the table. It queues up those queries.
    for values in lyft_total_estimates:
        for value in values["value"]:
            session.add(LyftPricesNew(place=values["place"], lat=values["geometry"][0], lon=values["geometry"][1], 
                                   dist=value["estimated_distance_miles"], display_name = value["display_name"], 
                                   duration = value["estimated_duration_seconds"], 
                                    estimate = str(value["estimated_cost_cents_min"]//100) + " - " +str(value["estimated_cost_cents_max"]//100),
                                   high_estimate = value["estimated_cost_cents_max"]//100, 
                                    low_estimate = value["estimated_cost_cents_min"]//100,
                                   autotime=values["autotime"], time=values["time"]
                                  ))

    # commit() flushes whatever remaining changes remain to the database, and commits the transaction.
    session.commit()
    time.sleep(60)
Пример #3
0
def collect_lyft_data():
    lyft_total_estimates = []
    estimates = {}
    #Global Learning Center GA TECH: 33.7762° N, 84.3895° W

    for place in places:
        estimates = {}

        url = "https://api.lyft.com/v1/cost?start_lat=33.7762&start_lng=-84.3895&end_lat=" + str(
            place["location"][0]) + "&end_lng=" + str(place["location"][1])
        # requests.get(url).json()

        estimate = requests.get(url).json()["cost_estimates"]
        #print(estimate)
        #estimate10
        estimates["place"] = place["name"]
        estimates["geometry"] = place["location"]
        autotimeinit = datetime.now()
        autotime = autotimeinit.strftime('%H:%M')
        estimates["autotime"] = autotime
        autohour = autotimeinit.strftime('%H')
        autohour = autohour + ":00"
        estimates["time"] = autohour
        autoday = autotimeinit.strftime('%A')
        estimates["day"] = autoday
        estimates["value"] = estimate
        # last_hour_date_time = datetime.now() - timedelta(hours = 1)
        # list_datetime_capture.append(last_hour_date_time.strftime('%Y-%m-%d %H:%M:%S'))
        lyft_total_estimates.append(estimates)
    # lyft_total_estimates
    # print(len(lyft_total_estimates))

    # Create our database engine
    engine = create_engine('sqlite:///LyftPricesNew.sqlite')

    # Base.metadata.create_all(engine)
    # The ORM’s “handle” to the database is the Session.

    session = Session(engine)

    # Note that adding to the session does not update the table. It queues up those queries.
    for values in lyft_total_estimates:
        for value in values["value"]:
            session.add(
                LyftPricesNew(
                    place=values["place"],
                    lat=values["geometry"][0],
                    lon=values["geometry"][1],
                    dist=value["estimated_distance_miles"],
                    display_name=value["display_name"],
                    duration=value["estimated_duration_seconds"],
                    estimate=str(value["estimated_cost_cents_min"] // 100) +
                    " - " + str(value["estimated_cost_cents_max"] // 100),
                    high_estimate=value["estimated_cost_cents_max"] // 100,
                    low_estimate=value["estimated_cost_cents_min"] // 100,
                    autotime=values["autotime"],
                    time=values["time"],
                    day=values["day"],
                    company="Lyft"))

    # commit() flushes whatever remaining changes remain to the database, and commits the transaction.
    # print("lyft done")
    session.commit()