Я пытаюсь почистить некоторые действительно рабочие вакансии для личных вещей (код ниже), однако в настоящее время мне нужно go до последней страницы, чтобы узнать, каков его "индекс" или номер страницы, тогда я могу итерация от первой до последней страницы.
Я хотел, чтобы это было автоматически c, где я предоставляю только URL-адрес, а остальное функция позаботится. Кто-нибудь может мне помочь? Кроме того, так как я собираю пару сотен страниц, я боюсь, что меня выгонят, поэтому я хотел убедиться, что получу как можно больше данных, поэтому я записываю в файл csv, как в примере ниже. Есть ли лучший способ сделать это тоже?
Действительно, мне не дали ключ API, так что это единственный метод, который я знаю. Вот код:
## squencing the pages based on the result (here i just did 1 page to 5th page)
page_results <- seq(from = 10, to = 50, by = 10)
first_page_url <- "https://www.indeed.com/jobs?q=data+analyst&l=United+States"
for(i in seq_along(page_results)) {
Sys.sleep(1)
url <- paste0(first_page_url, "&start=", page_results[i]) #second page will have url+&start= 20 and so on.
page <- xml2::read_html(url)
####
#bunch of scraping from each page, method for that is implemented already
#....
####
print(i) #prints till fifth page, so i will print 1 to 5
#I also wanted to write CSV line by line so if some error happens I atleast get everythinh pre-error
# do you anything efficient than this?
write.table(as.data.frame(i), "i.csv", sep = ",", col.names = !file.exists("i.csv"), append = T)
}