Re: [問題] parsing的中文顯示

作者: celestialgod (天)   2016-06-23 13:07:58
※ 引述《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
作者: v32767 (..)   2016-06-23 14:28:00
c大資料整理條件有考慮再補個reshape2嗎?
作者: clansoda (小笨)   2016-06-23 16:03:00
C大,我有看到你貼的這個網頁,但是我點他都是空白的怎麼樣才能看到API呢我有用inspect頁面去看,可是真的沒看到request header這個項目也都沒找到 我用ctrl+F找也沒有JSON的部分我去爬了翻轉教室 已經了解結構了

Links booklink

Contact Us: admin [ a t ] ucptt.com