註冊 | 登入 | 全文檢索 | 排行榜 |
![]() |
» JWorld@TW
» Servlet/JSP 討論區
![]() ![]() |
![]() ![]() ![]() ![]() |
本主題所含的標籤 |
作者 | jsp無法抓取整個網頁碼 |
as0955344054
![]() ![]() ![]() ![]() ![]() ![]() 發文: 107 積分: 0 ![]() |
![]() ![]() ![]() ![]() ![]() ![]() ![]() 想請問一下 我想抓取某個網頁的某個table裡的數值等等 我找到了jsoup這個套件 他可抓取網頁原始碼並分析 但有些東西網頁原始碼並沒有辦法完整的抓回整個網頁的每個東西 查過資料後有人說是因為javascript產生的數值,只是抓原始碼的話會抓不到 不過在瀏覽器上檢查元素可以找到 請問一下有甚麼辦法抓到完整的網頁碼嗎?? ![]() ![]() |
作者 | Re:jsp無法抓取整個網頁碼 [Re:as0955344054] |
roytsang
![]() ![]() ![]() ![]() ![]() ![]() 發文: 622 積分: 1 ![]() |
![]() ![]() ![]() ![]() ![]() ![]() ![]() "想抓取某個網頁的某個table裡的數值" 請問這個TABLE 有ID 這個ATTRIBUTE 嗎? e.g. <table id=abc> ........ </table> ![]() ![]() |
作者 | Re:jsp無法抓取整個網頁碼 [Re:as0955344054] |
pclevin
![]() ![]() ![]() ![]() ![]() ![]() 發文: 323 積分: 0 ![]() |
![]() ![]() ![]() ![]() ![]() ![]() ![]() 基於安全考量,你不可能抓到別人網頁的jsp程式碼。 你只能抓到html的原始碼。 ![]() ![]() 我的網誌 http://pclevin.blogspot.com |
作者 | Re:jsp無法抓取整個網頁碼 [Re:pclevin] |
as0955344054
![]() ![]() ![]() ![]() ![]() ![]() 發文: 107 積分: 0 ![]() |
![]() ![]() ![]() ![]() ![]() ![]() ![]() 但是"檢視元素"上可以抓到這筆資料 只是原始碼沒辦法 應該是有辦法抓到吧?? 所抓的東西不是jsp的原始碼 而是可能經過js運算的結果 ![]() ![]() |
作者 | Re:jsp無法抓取整個網頁碼 [Re:as0955344054] |
roytsang
![]() ![]() ![]() ![]() ![]() ![]() 發文: 622 積分: 1 ![]() |
![]() ![]() ![]() ![]() ![]() ![]() ![]() 我的做法在CHROME 裡面開你的JSP, 然後按F12,再click console,最後在console 內打javascript code 去抓取table 內的東西,這個solution ok 嗎? 如果OK 我才做 ![]() ![]() |
作者 | Re:jsp無法抓取整個網頁碼 [Re:roytsang] |
as0955344054
![]() ![]() ![]() ![]() ![]() ![]() 發文: 107 積分: 0 ![]() |
![]() ![]() ![]() ![]() ![]() ![]() ![]() SORRY 或許我表示得不夠清楚 我要抓的資料是"外部"別人網頁的某個table的值 而這過程必須程式運作 不是手動(而是使用)JAVA(JSP) 功能大概是 在別人開啟我的JSP網頁時可以去別人的網站抓取某個table值回來顯示在我的網頁 如果只是抓原始碼回來目前我已經找到方法,但有些欄位的值是經過javascript運算在餵進去cell裡的 這種情況抓回原始碼並不能抓到cell裡面的東西cell裡的東西是空的,沒辦法抓到我需要的數值 ![]() ![]() |
作者 | Re:jsp無法抓取整個網頁碼 [Re:as0955344054] |
pclevin
![]() ![]() ![]() ![]() ![]() ![]() 發文: 323 積分: 0 ![]() |
![]() ![]() ![]() ![]() ![]() ![]() ![]() 你不是用jsoup ,這應該就可以了呀! 你的程式是如何寫的呢? 你是抓那個url呢? ![]() ![]() 我的網誌 http://pclevin.blogspot.com |
作者 | Re:jsp無法抓取整個網頁碼 [Re:pclevin] |
as0955344054
![]() ![]() ![]() ![]() ![]() ![]() 發文: 107 積分: 0 ![]() |
![]() ![]() ![]() ![]() ![]() ![]() ![]() jsoup 不是不支援 javascript嗎 http://www.ncbi.nlm.nih.gov/projects/SNP/snp_ref.cgi?rs=1799782 GRCh38 106 19 43553422 NT_011109.17 16312548 Rev G Fwd view mapup GRCh37.p13 105 19 44057574 NT_011109.16 16325792 Rev G Fwd view blast 我要抓的資料為這兩排~ 還是我程度不夠 這兩行並不是javascript餵進去的?? 我現在正在使用htmlunit測試但就算執行javascript目前也依然是空的 如果得空,可否請高手嘗試用程式抓出此兩行 同時已經盡量爬文了 ![]() ![]() |
作者 | Re:jsp無法抓取整個網頁碼 [Re:as0955344054] |
jk47
![]() ![]() ![]() ![]() ![]() ![]() 發文: 159 積分: 0 ![]() |
![]() ![]() ![]() ![]() ![]() ![]() ![]() as0955344054 wrote: 因為樓主要的資料是JAVASCRIPT產生,所以在連接時若不支援JAVASCRIPT,是看不到資料的。 而樓主一直沒弄懂,使用的套件和瀏覽器上看到是有些許不同的。運作原理留給有心人。 而根據樓主的需求,是需要一個類瀏覽器的東西, 是以htmlunit是可以滿足樓主的需求,因為它支持JAVASCRIPT,而且我也確定是可以抓的到值。 很可能樓主寫法不對。請參考下列連結,因htmlunit版本不同,寫法會有差異。 純htmlunit寫法 http://shenbai.iteye.com/blog/1985844 htmlunit+jsoup 處理方式 http://www.cnblogs.com/StruggleBird/p/3373350.html 補產出檔案,這樣有真相,至於怎麼抓,那是樓主的工作了 ![]() ![]() ![]() ![]() 喝著濃濃的JAVA,看著MYSQL耀出水面 旁邊NetBeans抓著GlassFish與DUKE在嬉鬧 現在手上又拿著ORACLE在研究 (ORACLE=甲骨文=契文) |
作者 | Re:jsp無法抓取整個網頁碼 [Re:jk47] |
as0955344054
![]() ![]() ![]() ![]() ![]() ![]() 發文: 107 積分: 0 ![]() |
![]() ![]() ![]() ![]() ![]() ![]() ![]() 非常感謝您 確定可以抓出 那我再多多研究 以前沒有做過去別網頁抓資料 經爬文後 先嘗試過jsoup但發現javascript產生的值無法抓出 所以之後找到套件htmlunit去執行無介面瀏覽器 我認為用瀏覽器應該就可以執行javascript理論上應該能達到我要的功能 但是目前還沒有成功 不過大大已經證實此方法一定可以解決我的問題 接下來就是我的功課了^^ 我想我用htmlunit卻還是抓不出需要的值,應該是我去抓去page時javascript還沒有跑完 您給我的網站對我應該有很大的幫助 過程中有瓶頸再來請教大大 謝謝 ![]() ![]() |
作者 | Re:jsp無法抓取整個網頁碼 [Re:as0955344054] |
ChuanYuan
![]() ![]() ![]() ![]() ![]() ![]() 發文: 1 積分: 0 ![]() |
![]() ![]() ![]() ![]() ![]() ![]() ![]() 剛好我最近也碰到這個問題,在這想請問我想利用Firefox的greasemonkey寫一個腳本去更改其他網頁的javascript, 但是一樣只能透過"檢視元素"才能看到我要的網頁碼,所以我只能透過htmlunit才能實現我要的嗎? 還是有其他辦法呢? ![]() ![]() |
» JWorld@TW » Servlet/JSP 討論區 |
![]() ![]() ![]() ![]() |
![]() ![]() ![]() |