print city + 'is not in our options, please use another city as input'
    #list the #od zip codes for each city
    #for city in city2zipCodes.keys():
        #print '# of zip codes in ' + city + ' is ' + str(len(city2zipCodes[city]))
    print 'Creating an excel file with name "' + city + '_restaurant_data.xls" for storing data scraped...'
    xlObj = excelWriteObj(city)
    print 'Data scraping on grubhub.com for ' + city  +' is about to start...'
    for zipCode in city2zipCodes[city.upper()]:
        print '--Scraping data for zip code ' + zipCode + ' ...'
        chromeDriverObj = openChromePage(zipCode)
        url = chromeDriverObj.getUrl()
        url = url.replace('&facet=open_now:true', '') #delete the condition to get all restaurant data no matter it open or not now.
        #print 'url: ' + url
        #get url for delivery category
        delUrl = url.replace('pickup', 'delivery')
        delUrl = delUrl.replace('PICKUP', 'DELIVERY')
        delUrl = delUrl.replace('&facet=open_now:true', '')
        delResultPage = webObj(delUrl)
        delResultPage.switchAndScrapePages()
        xlObj.writeData(delResultPage.getData())
        #transfer url to pickup category
        pickUpUrl = url.replace('delivery', 'pickup')
        pickUpUrl = pickUpUrl.replace('DELIVERY', 'PICKUP')
        #add '&radius=1' to url
        pickUpResultPage = webObj(pickUpUrl)
        pickUpResultPage.switchAndScrapePages()
        xlObj.writeData(pickUpResultPage.getData())
        print '--Scraping data for zip code ' + zipCode + ' is done'

    print 'Data scraping on grubhub.com for ' + city  +' is finieshed!!'
    #for city in city2zipCodes.keys():
    #print '# of zip codes in ' + city + ' is ' + str(len(city2zipCodes[city]))
    print 'Creating an excel file with name "' + city + '_restaurant_data.xls" for storing data scraped...'
    xlObj = excelWriteObj(city)
    print 'Data scraping on grubhub.com for ' + city + ' is about to start...'
    for zipCode in city2zipCodes[city.upper()]:
        print '--Scraping data for zip code ' + zipCode + ' ...'
        chromeDriverObj = openChromePage(zipCode)
        url = chromeDriverObj.getUrl()
        url = url.replace(
            '&facet=open_now:true', ''
        )  #delete the condition to get all restaurant data no matter it open or not now.
        #print 'url: ' + url
        #get url for delivery category
        delUrl = url.replace('pickup', 'delivery')
        delUrl = delUrl.replace('PICKUP', 'DELIVERY')
        delUrl = delUrl.replace('&facet=open_now:true', '')
        delResultPage = webObj(delUrl)
        delResultPage.switchAndScrapePages()
        xlObj.writeData(delResultPage.getData())
        #transfer url to pickup category
        pickUpUrl = url.replace('delivery', 'pickup')
        pickUpUrl = pickUpUrl.replace('DELIVERY', 'PICKUP')
        #add '&radius=1' to url
        pickUpResultPage = webObj(pickUpUrl)
        pickUpResultPage.switchAndScrapePages()
        xlObj.writeData(pickUpResultPage.getData())
        print '--Scraping data for zip code ' + zipCode + ' is done'

    print 'Data scraping on grubhub.com for ' + city + ' is finieshed!!'
Exemplo n.º 3
0
        for item in restaurantData:
            #write data row one by one
            self.__sheet.write(self.__rowCursor, 0, item['name'])
            self.__sheet.write(self.__rowCursor, 1, item['cuisine'])
            self.__sheet.write(self.__rowCursor, 2, item['priceLv'])
            self.__sheet.write(self.__rowCursor, 3, item['stars'])
            self.__sheet.write(self.__rowCursor, 4, item['rating'])
            self.__sheet.write(self.__rowCursor, 5, item['minOrder'])
            self.__sheet.write(self.__rowCursor, 6, item['ifDelOffer'])
            self.__sheet.write(self.__rowCursor, 7, item['costOfDel'])
            self.__sheet.write(self.__rowCursor, 8, item['url'])
            self.__rowCursor += 1

        if(len(restaurantData)):
            self.__wbk.save(self.__cityName + '_restaurant_data.xls')


if(__name__ == '__main__'):
    xlObj = excelWriteObj('New York')
    delUrl =  'https://www.grubhub.com/search?orderMethod=delivery&locationMode=DELIVERY&facetSet=umami&pageSize=20&latitude=40.753685&longitude=-73.99916&countOmittingTimes'
    scrapeObj = webObj(delUrl)
    scrapeObj.switchAndScrapePages()
    xlObj.writeData(scrapeObj.getData())
    pickUpUrl = delUrl.replace('delivery', 'pickup')
    pickUpUrl = pickUpUrl.replace('DELIVERY', 'PICKUP')
    #add '&radius=1' to url
    scrapeObj = webObj(pickUpUrl)
    scrapeObj.switchAndScrapePages()
    xlObj.writeData(scrapeObj.getData())