請幫忙! 我想從這個網站(https://echa.europa.eu/candidate-list-table)使用R下載*.xls檔案。這個檔案可以通過點擊“XLS”在網站上輕松下載按鈕。但是,右鍵單擊選單中沒有“復制鏈接位置”可用。我嘗試使用https://www.edureka.co/community/57163/download-file-from-website-using-web-scraping 之后的rvest包,但網頁的結構與示例不同。沒有與按鈕相關聯的標記和屬性。<a>hrefXLS

有什么線索嗎?提前謝謝了。
最好的問候,蘇基斯
uj5u.com熱心網友回復:
您可以通過檢查 Chrome devtool 的網路選項卡來發現請求,下載檔案時它會呼叫:
POST https://echa.europa.eu/candidate-list-table
此呼叫似乎不需要 cookie,因此您可以只發送表單資料,并包含查詢引數。以下將檔案保存為test.xls:
library(httr)
url <- 'https://echa.europa.eu/candidate-list-table?p_p_id=disslists_WAR_disslistsportlet&p_p_lifecycle=2&p_p_state=normal&p_p_mode=view&p_p_resource_id=exportResults&p_p_cacheability=cacheLevelPage'
r <- POST(url, body = list(
"_disslists_WAR_disslistsportlet_formDate" = as.numeric(as.POSIXct(Sys.time()))*1000,
"_disslists_WAR_disslistsportlet_exportColumns" = "name,ecNumber,casNumber,haz_detailed_concern,dte_inclusion,doc_cat_decision,doc_cat_iuclid_dossier,doc_cat_supdoc,doc_cat_rcom,prc_external_remarks",
"_disslists_WAR_disslistsportlet_orderByCol"= "dte_inclusion",
"_disslists_WAR_disslistsportlet_orderByType"= "desc",
"_disslists_WAR_disslistsportlet_searchFormColumns"= "haz_detailed_concern,dte_inclusion",
"_disslists_WAR_disslistsportlet_searchFormElements"= "DROP_DOWN,DATE_PICKER",
"_disslists_WAR_disslistsportlet_substance_identifier_field_key"="",
"_disslists_WAR_disslistsportlet_haz_detailed_concern"="",
"_disslists_WAR_disslistsportlet_dte_inclusionFrom"="",
"_disslists_WAR_disslistsportlet_dte_inclusionTo"="",
"_disslists_WAR_disslistsportlet_total"= "219",
"_disslists_WAR_disslistsportlet_exportType"= "xls"
), verbose(), write_disk("test.xls", overwrite=TRUE))
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/354333.html
上一篇:無法使用python分頁抓取網頁
下一篇:如何從網頁中拉入表格?
