Getting all restaurants from wolt baku in which exist food with the duck meat
library(rvest, warn.conflicts=F, quietly=T)
library(dplyr, warn.conflicts=F, quietly=T)
library(tidyr, warn.conflicts=F, quietly=T)
library(stringr, warn.conflicts=F, quietly=T)
library(RSelenium, warn.conflicts = F, quietly = T)
wolt_data=data.frame() #Create empty data frame
driver <- rsDriver(browser = c("chrome"), chromever = "107.0.5304.62")
remote_driver <- driver[["client"]]
tryCatch(
{
remote_driver$navigate("https://wolt.com/az/aze/baku/search?q=%C3%B6rd%C9%99k")
wolt_links<-remote_driver$findElements("css", "a.DiscoveryVenueListItem__StyledLink-sc-zaniqj-0.hzyLDz")
#Get all url from main search page
for (elem in wolt_links) {
#elem<-wolt_links[[1]]
elem<-elem$getElementAttribute('href')
tryCatch({
moreInfo_page=read_html(elem[[1]])
phone=moreInfo_page %>% html_nodes("div > a > span")%>%html_text() %>% paste(collapse ="," )
name=moreInfo_page %>% html_nodes("span.VenueHeroBanner__TitleSpan-sc-3gkm9v-2.kCyFrS")%>%html_text() %>% paste(collapse ="," )
unvan=moreInfo_page %>% html_nodes("div.VenueSideInfo-module__primary___xK8qF")%>%html_text() %>% paste(collapse ="," )
phone<-gsub(",.*", "", phone)
#print(data.frame( name, phone, unvan))
wolt_data=rbind(wolt_data, data.frame( name, phone, unvan, elan_url=elem[[1]], stringsAsFactors = FALSE))
},
error=function(e) {print("URL Not Found, skipping")
next})
}
#print(paste(nrow(wolt_data)," number of ads scrapped!"))
},
error=function(e) {
message('An Error Occurred')
print(e)
},
warning=function(w) {
message('A Warning Occurred')
print(w)
return(NA)
}
)
#write.csv(wolt_data,"wolt_data.csv")
head(wolt_data)
## data frame with 0 columns and 0 rows