Python 板


LINE

原本使用requests.get抓網頁原始碼,但是抓不完整 後來使用PhantomJS花了7~8秒抓到了完整的原始碼 不過彈出 Selenium support for PhantomJS has been deprecated, please use headless 所以最後用chrome並使用headless模式 1 from selenium import webdriver 2 from selenium.webdriver.chrome.options import Options 3 chrome_options = Options() 4 chrome_options.add_argument('--headless') 5 driver = webdriver.Chrome(chrome_options=chrome_options) 6 driver.get("http://goo.gl/iuh5tS") 成功抓到更深的內容,但是執行第5行很慢很慢 大概要花7秒(用PhantomJS設定driver也是7~8秒) 不知有沒有什麼方法能夠快一點,謝謝各位大大 想說用另一個想法試試,打開CHROME的開發者工具,看一下Network底下的XHR 發現https://imgur.com/CVoIpjB 約略每3秒會彈出一個請求,查了一下 1.AJAX的一種常見用法是使用AJAX載入JSON資料,然後在瀏覽器端渲染。如果能直接抓取 到JSON數據,會比HTML更容易解析。 2.XMLHttpRequest 縮寫為 XHR 3.Type為xhr,這就是一個Ajax 請求 4.其中Request Headers 中有一個信息為X-Requested-With:XMLHttpRequest,這就標記了 此請求是Ajax請求。 5.發現這是一個POST類型的請求,請求連結是 GetGameData.ashx?r=1519301370235,也看到了json格式的資料 參數為r,r一直變動,查了一下,r的產生是new Date().getTime() 直接對這些連結opon in new tab打開都空白 目前死在這邊,如果r有規律的話就輕鬆了,直接打開頁面都是空白,json什麼的都沒有 不知道開發者工具是怎麼偵測這些r的... --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.37.187.76
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Python/M.1519288777.A.104.html ※ 編輯: bckkt (114.37.187.76), 02/22/2018 21:27:20 ※ 編輯: bckkt (114.37.187.76), 02/22/2018 21:47:27 ※ 編輯: bckkt (114.37.187.76), 02/22/2018 21:51:38
1F:推 s860134: 自己發 ajax 不合你的需要嗎 02/23 18:59
2F:→ bckkt: 後來發現用第一個方法 速度上就是硬傷 02/23 19:25
3F:→ bckkt: 研究才發現一直彈出的頁面是Ajax請求 02/23 19:25
4F:→ bckkt: 所以想說從這條切入研究,但也沒那麼簡單,還在研究中就是了 02/23 19:26
5F:→ s860134: 但是你都知道是要多個時間參數,你自己生當錢時間就好了? 02/24 18:22
6F:→ Kazimir: 你用 time.time()的那個毫秒數拿去post可以嗎? 02/24 18:34
7F:→ bckkt: 謝謝回應,我沒試過但覺得不行,我生的時間跟他生的時間 02/24 21:41
8F:→ bckkt: 應該是不一樣的時間 02/24 21:41
9F:→ bckkt: form data還有個變數gidGroup,這變數也是變動很大的 02/24 21:43
10F:→ bckkt: 今天改用按鍵精靈去抓json,想說丟到某處之後,再分解json 02/24 21:44
11F:→ bckkt: 分解好的資料,再看是要丟到EXCEL,還是怎樣呈現的,再看看 02/24 21:46
12F:推 Kazimir: 不是 我有去試JS那個func 是1970到現在的毫秒數 02/24 21:59
13F:推 Kazimir: 所以python這個產出來應該是一樣的東西才對 02/24 22:01
14F:→ bckkt: 我試試 02/24 22:02
15F:→ bckkt: 加上header來請求,網頁是空白 02/24 22:26
16F:→ bckkt: 我來研究一下form data的gidGroup是怎麼產生的好了 02/24 22:26
17F:→ bckkt: 下次連form data一起丟 02/24 22:27
18F:→ bckkt: 直接複製最近一個gidGroup,連著其他data一起丟,出現了!! 02/24 22:36
19F:→ bckkt: 但不知道gidGroup怎麼產生的,等這個變數搞懂,就可以爬了 02/24 22:37
20F:→ bckkt: 我發現不用丟gidGroup,json也會出現耶,太神奇了 02/24 22:41
21F:→ bckkt: 謝謝你們提醒我試試直接取得時間直接post 02/24 22:43
22F:→ galeondx: https://tinyurl.com/yadsk3lo 03/06 04:40







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:BabyMother站內搜尋

TOP