היי דוד,
(1) אם מותקן אצלך במחשב curl, אפשר להפעיל גם מתוך R בעזרת פונקציית system.
לדוגמה -
x = system("curl 'http://212.150.52.211/scripts/rating10.asp' -H 'Connection: keep-alive' -H 'Cache-Control: max-age=0' -H 'Origin: http://212.150.52.211' -H 'Upgrade-Insecure-Requests: 1' -H 'Content-Type: application/x-www-form-urlencoded' -H 'User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36' -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3' -H 'Referer: http://212.150.52.211/scripts/public1.asp' -H 'Accept-Encoding: gzip, deflate' -H 'Accept-Language: en-US,en;q=0.9' -H 'Cookie: ASPSESSIONIDASTRCSAC=AJDJLICCCADDPFNAKIPGGNBB' --data 'audience=1&week=05%2F05%2F2019&date_selector=weekly&txtFromDateDAILY=15%2F05%2F2019&1=View+Table+%2F+%E4%F6%E2+%E8%E1%EC%E4&weekCount=1' --compressed", intern = TRUE)
(2) אפשר לעשות את אותו הדבר דרך R, יש מספר ספריות שיכולות לשלוח בקשת HTTP, למשל httr.
לדוגמה -
library(httr)
x = POST("http://212.150.52.211/scripts/rating10.asp", add_headers("Connection" = "keep-alive", "Cache-Control" = "max-age=0", "Origin" = "http://212.150.52.211", "Upgrade-Insecure-Requests" = "1", "Content-Type" = "application/x-www-form-urlencoded", "User-Agent" = "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36", "Accept" = "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3", "Referer" = "http://212.150.52.211/scripts/public1.asp", "Accept-Encoding" = "gzip, deflate", "Accept-Language" = "en-US,en;q=0.9", "Cookie" = "ASPSESSIONIDASTRCSAC=AJDJLICCCADDPFNAKIPGGNBB"), body = "audience=1&week=05%2F05%2F2019&date_selector=weekly&txtFromDateDAILY=15%2F05%2F2019&1=View+Table+%2F+%E4%F6%E2+%E8%E1%EC%E4&weekCount=1", encode = "form") x = content(x, as = "text", type = "text/html", encoding = "WINDOWS-1255")
בשיטה (1) התוצאה היא בדיוק כמו להפעיל את curl בשורת הפקודה כמו ששלחתי בצילום מסך אתמול.
בשיטה (2) הטקסט העברי יוצא בג'יבריש בדפדפן -
אבל ב-R הטקסט העברי נראה תקין ואפשר להוציא ממנו את הנתונים ישירות ב-R -
אני מעדיף את שיטה (1) כי יש הרבה יותר מידע באינטרנט על curl מאשר על ספריות R שמפעילות את curl או ספריות דומות בעקיפין.
אפשר להכניס את אחד הקודים הנ"ל ללופ בדיוק כמו כל קוד אחר ב-R, ובכל פעם לשנות רק את החלק של התאריך.