PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
R_Language
[問題] 用if想讓R暫停, 但R沒有暫停
作者:
augustana
(微小的希望)
2018-05-03 18:58:09
[問題類型]:
程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來)
[軟體熟悉度]:
入門(寫過其他程式,只是對語法不熟悉)
[問題敘述]:
我在爬一個網頁, 但如果我爬得太快它會抓不到
因為有試過讓他常態性的休息, 但休息時間太短也不行
所以我設了一個if條件, 抓不到的時候就休息60秒
但他沒有執行 不知道是不是哪裡出了問題
[程式範例]:
if(a==-1) { Sys.sleep(60)
subdoc <- GET(suburl, config = set_cookies('JSESSIONID' =
'8F0C390B5E686300BC04AA763900EB6D'))
json <- xml_text(xml_find_all(content(subdoc), '/html/body'))
}
[環境敘述]:
R version 3.4.0 (2017-04-21)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 7 x64 (build 7601) Service Pack 1
Matrix products: default
locale:
[1] LC_COLLATE=Chinese (Simplified)_People's Republic of China.936
[2] LC_CTYPE=Chinese (Simplified)_People's Republic of China.936
[3] LC_MONETARY=Chinese (Simplified)_People's Republic of China.936
[4] LC_NUMERIC=C
[5] LC_TIME=Chinese (Simplified)_People's Republic of China.936
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] jsonlite_1.5 httr_1.3.1 xml2_1.0.0
loaded via a namespace (and not attached):
[1] compiler_3.4.0 R6_2.2.0 tools_3.4.0 curl_2.3 Rcpp_0.12.13
[關鍵字]:
Sys.sleep, if
作者:
celestialgod
(天)
2018-05-04 05:36:00
你的a怎麼來的沒寫
作者:
augustana
(微小的希望)
2018-05-04 16:43:00
a <- regexpr('rateList',json) 我如果有抓成功, json會有'ratelist'字串, 沒有成功就會找不到, a在環境裡面是atomic[1:1]-1 我把條件改成a[1]=-1試試我改a[1]==-1也沒用說, 他沒休息QQ
作者:
kokolotl
(nooooooooooo)
2018-05-04 17:49:00
不知道你的a長怎樣,你先把a或是a[1]印出來看看要==啥吧
作者:
cywhale
(cywhale)
2018-05-04 23:21:00
也要看json是什麼 字串?或是char vectors? 才知道怎麼比
作者:
augustana
(微小的希望)
2018-05-07 13:58:00
> class(json) [1] "character"> a[1] [1] -1
作者:
andrew43
(討厭有好心推文後刪文者)
2018-05-07 15:43:00
目前還是看不出來哪裡有問題... 你如何確認有無暫停呢?另可在sleep之前加上一句cat("a=", a, "\n")幫忙判斷
作者:
augustana
(微小的希望)
2018-05-07 15:52:00
因為如果有暫停的話他會停一分鐘繼續跑, 不過現在的狀況是他會馬上跑出error, 是因為json = ''產生的errorcat("a=", a, "\n")這句是什麼意思呀完整版的code請參考
https://ideone.com/SALda0
感謝~~
作者:
kokolotl
(nooooooooooo)
2018-05-07 16:00:00
> regexpr("aaa","")[1]==-1 [1] TRUE你的程式沒跑到那個if就掛了吧XD?
作者:
augustana
(微小的希望)
2018-05-07 16:05:00
什麼意思 有跑到那裏啦XD那個是在更後面的動作
作者:
kokolotl
(nooooooooooo)
2018-05-07 16:16:00
cat那段可以讓你知道有沒有進到if 有進去沒停就神奇了
作者:
augustana
(微小的希望)
2018-05-07 16:39:00
好我來試試看~~再來update~~感溫~~
作者:
kokolotl
(nooooooooooo)
2018-05-07 16:45:00
避開迴圈手動跑一次查錯在哪邊,應該比較快XD
作者:
augustana
(微小的希望)
2018-05-07 16:57:00
我剛剛放了cat 現在有一個感覺 就是 他其實成功很多次因為我已經看到五個a=-1惹, 還沒停, 所以出error應該是60秒不夠的關係XD BTW我有避開迴圈測試 但都會成功XD
繼續閱讀
[問題] factor轉成numeric是否有數值的上限?
nmamtb
[問題] 整列作對調問題
jasonfghx
[交換] 英文或跳舞換 R studio
Cnbb
[問題] 請問怎麼讓兩個不同的csv檔案內容相連
Citizenation
[問題] ggplot2上顏色
b41p3987
[問題] Read in ranks
AmigoSafin
Re: [問題] list對應座標的運算
celestialgod
[問題] 如何將html檔推送到Rhub
t00012
[問題] list對應座標的運算
ntpuisbest
[問題] 解壓縮遇上中文
jas0a150
Links
booklink
Contact Us: admin [ a t ] ucptt.com