ເກັບການເລືອກ proxy ໄວ້ໃນຂັ້ນຕອນດາວໂຫຼດ. ເມື່ອ httr ສົ່ງໜ້າກັບມາ, ໃຫ້ວິເຄາະ byte ຂອງຄຳຕອບນັ້ນ ແທນທີ່ຈະສົ່ງ URL ໄປໃຫ້ຕົວດາວໂຫຼດອື່ນ.

ຖ້າໃຫ້ vector urls ແລະ data frame proxies ທີ່ບໍ່ຫວ່າງເປົ່າ ພ້ອມຖັນ host ແລະ port ແບບຈຳນວນເຕັມ:

pages <- vector("list", length(urls))
stopifnot(nrow(proxies) > 0L)

for (i in seq_along(urls)) {
  row <- ((i - 1L) %% nrow(proxies)) + 1L
  response <- httr::GET(
    urls[[i]],
    httr::use_proxy(proxies$host[[row]], proxies$port[[row]]),
    httr::timeout(30)
  )
  httr::stop_for_status(response)
  pages[[i]] <- xml2::read_html(httr::content(response, as = "raw"))
}

ສຳລັບຄຳຮ້ອງໜ້າສາທາລະນະທີ່ອະນຸຍາດຜ່ານຕົວກາງສາທາລະນະ, ລາຍຊື່ proxy HTTP ໃຫ້ຜູ້ສະໝັກສຳລັບຖັນ host ແລະ port. ດັດຊະນີຈະໝຸນຈາກແຖວ proxy ທຳອິດໄປຮອດແຖວສຸດທ້າຍ ແລ້ວກັບໄປເລີ່ມຕົ້ນໃໝ່. ແຕ່ລະການເອີ້ນມີການຕັ້ງຄ່າ proxy ຂອງຕົນເອງ; ຂະບວນການ R ສາມາດສືບຕໍ່ເຮັດວຽກ.

ໜ້າທີ່ໄດ້ມາມີເອກະສານ HTML ທີ່ວິເຄາະແລ້ວ. ໃຫ້ໃຊ້ rvest::html_elements ແລະ ຟັງຊັນສະກັດເອົາທີ່ຈຳເປັນກັບເອກະສານເຫຼົ່ານັ້ນ. ການສົ່ງ URL ໃຫ້ read_html ແທນ ຈະເລີ່ມການດຶງໃໝ່ດ້ວຍການຕັ້ງຄ່າເຄືອຂ່າຍຂອງເສັ້ນທາງນັ້ນເອງ.

ສຳລັບ proxy ທີ່ມີການພິສູດຕົວຕົນ, ໃຫ້ສົ່ງບັນຊີທີ່ເລືອກຜ່ານອາກູເມັນ username ແລະ password ຂອງ use_proxy. ຈຸດປາຍທາງອື່ນບໍ່ຮັບປະກັນ IP ອອກສາທາລະນະ ທີ່ແຕກຕ່າງ, ດັ່ງນັ້ນເລືອກສະລອງຕາມພຶດຕິກຳອອກຕົວຈິງຂອງບໍລິການ.

ບົດຄວາມທີ່ກ່ຽວຂ້ອງ