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)
get_moreInfo_func=function(car_link){
moreInfo_page=read_html(car_link)
moreInfo=moreInfo_page %>% html_nodes(".seller-phone")%>%html_text() %>% paste(collapse ="," )
return(moreInfo)
}
car_db=data.frame() #Create empty data frame
for (i in seq(from=1,to=2)){
tryCatch(
{
link="https://turbo.az/autos?page="
link=paste(link,i,sep="")
page=read_html(link)
car_name=page %>% html_nodes("div.products-i__name.products-i__bottom-text") %>% html_text()
car_links=page %>% html_nodes("a.products-i__link") %>% html_attr("href") %>% paste("https://turbo.az",.,sep="")
car_info=page %>% html_nodes("div.products-i__attributes.products-i__bottom-text") %>%html_text()
car_price=page%>%html_nodes("div.product-price")%>%html_text()
ad_time=page %>% html_nodes("div.products-i__datetime") %>% html_text()
car_moreInfo=sapply(car_links, FUN=get_moreInfo_func, USE.NAMES = FALSE)
car_db=rbind(car_db, data.frame(car_name, car_info,car_price, ad_time, car_moreInfo, car_links, stringsAsFactors = FALSE))
print(paste("Page ",i," scrapped!"))
},
error=function(e) {
message('An Error Occurred')
print(e)
},
warning=function(w) {
message('A Warning Occurred')
print(w)
return(NA)
}
)
Sys.sleep(sample(3))
}
## [1] "Page 1 scrapped!"
## [1] "Page 2 scrapped!"
#Removing duplicates by car_moreinfo or by car_links
cardb<-car_db
cardb<-cardb %>% distinct(cardb$car_links, .keep_all = TRUE)
#write.csv(cardb,'nomreler.csv')
head(car_db)
## car_name car_info car_price ad_time
## 1 Geely Atlas Pro 2022, 1.5 L, 0 km 48 900 AZN Bakı, 03.11.2022 11:29
## 2 Nissan X-Trail 2022, 2.0 L, 0 km 51 600 AZN Bakı, dünən 10:37
## 3 Jeep Wrangler 2013, 3.6 L, 112 000 km 36 200 $ Bakı, 08.11.2022 23:44
## 4 Toyota Land Cruiser 2013, 4.0 L, 126 000 km 45 900 $ Bakı, 09.11.2022 00:53
## 5 DAF 105 XF 2008, 13 L, 983 000 km 42 000 AZN Xırdalan, bugün 17:16
## 6 BMW 530 2017, 2.0 L, 73 000 km 35 000 $ Bakı, dünən 17:35
## car_moreInfo car_links
## 1 https://turbo.az/autos/6166539-geely-atlas-pro
## 2 https://turbo.az/autos/6238477-nissan-x-trail
## 3 https://turbo.az/autos/6761210-jeep-wrangler
## 4 https://turbo.az/autos/6704961-toyota-land-cruiser
## 5 (010) 313-16-90 https://turbo.az/autos/6820199-daf-105-xf
## 6 (055) 200-00-20 https://turbo.az/autos/6817236-bmw-530