看板 R_Language 關於我們 聯絡資訊
※ 引述《clansoda (小笨)》之銘言: : C大我把我的問題發一篇,我目前大部分都有看懂 : 第一個問題是我有?GET,他的maunal裡面沒有提到referer這個 : 請問這個是要設成你尋頁的什麼才是正確的呢? chrome F12查看該網頁的requested header可以看到他有referer curl的manual裡面有referer的參數 httr::config的...可以放置curl的其他參數,可以?config查看 GET第二個element就是給config : 因為看你設的參數是該網頁的整頁,也是inspect頁面的network : 的第一項,所以我有點疑惑這個參數究竟要設什麼 就是給request headers : 第二個問題是str_replace_all,manual,只有\\1\\1這個例子 : 那個例子是多一個前面的文字,但是您的寫法把前面的括號消掉了 : 請問這個\\(|\\)代表什麼涵義呢? 這是regexp, ( 或 )這個取代掉, |代表或的意思 又因為()在regexp裡面有意義,所以需要用escape \\ 可以參考這個網站:http://regexone.com/ : 第三個問題是這個str_replace跑完後,我用class查詢他是chracter : 可是您在後面接了一個fromJson然後整個LIST就變成dataframe的型態了 : 為什麼他是Json的格式呢?是如何判斷的,而如果str_replace只消掉 : 前面的文字如showStoreList,而沒有消掉括號的話fromJson就會出錯 : 請問如何判斷他是JSON的格式呢? 怎麼判斷這個問題很怪,你找一下JSON的範例格式對一下滿明顯的 那個樣式就是一個javascript的物件(攤手 就是JSON (javascript object notation).... 不知道怎麼回答你這個問題QQ : 最後一個問題是在這個全家頁面用我之前用的ctrl+u這種顯示整頁html的 : 方式會看不到想要parsing的格式,用C大這種inspect的方式可以看到他後面API的 : 走向,我點那個api的頁面會出現類似 : "NAME": "全家基隆廟口店", : "TEL": "02-24289166", : "POSTel": "02-77230578", : "px": 121.742868, : "py": 25.128415, : "addr": "基隆市仁愛區仁三路33號", : "SERID": 15829.0, : "pkey": "011629", : "oldpkey": "005829", : "post": "200", : "all": "COFFEE,WiFi,oneice", : "road": "仁三路", : "twoice": null : 看起來就是我們要的資料沒錯,接著我用同樣方式去找seven他們的查詢系統 : 他們的更隱密,我找不到類似全家的這種方式可以抓他們的資料 : 只有一個emap開頭的,但是後面的參數是時間,裡面的值是縣市 : 我就再也沒找到裡面有值的檔案了,請問C大這種的也parsing的了嗎? : 感謝您的回復 每個網站寫法都不一樣,這個就要慢慢找怎樣爬了 像是全家在header上加referer,我也是第一次看到(攤手 多爬幾個網站累積經驗囉(攤手 至於seven的網站一樣可以在https://emap.pcsc.com.tw按下搜尋後 可以在network看到Request URL: https://emap.pcsc.com.tw/EMapSDK.aspx 從Form Data可以看到他有SearchStore這個api,然後下query字串就有xml檔案了 如圖所示:http://i.imgur.com/WJt3eR8.png
借用了全家的全國鄉鎮位置去做查詢 (你可以另外去找網頁找全國鄉鎮,借全家比較慢) 程式:http://pastebin.com/HZimmj1X 檔案下載連結: http://www.mediafire.com/download/gbova5bl29h9owb/sevenElevenStoreLoc.csv 部分結果: POIID POIName X Y Telno <chr> <chr> <chr> <chr> <chr> 1 15886 千成 121522903 25043751 (02)23577481 2 11081 千翔 121516971 25045748 (02)23123025 3 13639 大永博 121511644.363883 25043153.9228778 (02)23826912 4 16133 中航 121522538 25042552 (02)23278931 5 99156 中華電 121523275 25036515 (02)33433607 6 12179 中愛 121520249 25033082 (02)23415461 7 93291 中樂 121510506 25045116 (02)23122424 8 12830 丹陽 121525546 25039050 (02)23516914 9 13529 仁金 121528948 25038452 (02)23583428 10 12786 北高鐵 121519384.869613 25047133.4366581 (02)23149940 -- R資料整理套件系列文: magrittr #1LhSWhpH (R_Language) http://tinyurl.com/j3ql84c data.table #1LhW7Tvj (R_Language) http://tinyurl.com/hr77hrn dplyr(上) #1LhpJCfB (R_Language) http://tinyurl.com/jtg4hau dplyr(下) #1Lhw8b-s (R_Language) tidyr #1Liqls1R (R_Language) http://tinyurl.com/jq3o2g3 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.109.74.87 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1466658481.A.FAB.html
v32767: c大資料整理條件有考慮再補個reshape2嗎? 06/23 14:28
沒打算,reshape2的功能都可以用tidyr取代
clansoda: C大,我有看到你貼的這個網頁,但是我點他都是空白的 06/23 16:03
clansoda: 怎麼樣才能看到API呢 06/23 16:04
稍微更正一下內文,是先打開F12的network標籤 然後在https://emap.pcsc.com.tw/搜尋之後 會出現這個:http://i.imgur.com/WJt3eR8.png
clansoda: 我有用inspect頁面去看,可是真的沒看到 06/23 16:04
clansoda: request header這個項目也都沒找到 我用ctrl+F找也沒有 06/23 16:04
clansoda: JSON的部分我去爬了翻轉教室 已經了解結構了 06/23 16:26
恩恩 ※ 編輯: celestialgod (140.109.74.87), 06/23/2016 17:04:14
clansoda: 附帶一提,如果有人爬到這篇文章,在跑的時候一直出現 06/24 14:29
clansoda: Timeout reached的話,用timeout function設一個很大的 06/24 14:29
clansoda: 數字就能解決這個問題了,害我一直跑失敗 06/24 14:30