搜尋

首頁  >  問答  >  主體

java如何爬取js處理後的程式碼

頁面網址:
http://acm.hdu.edu.cn/showpro...

爬取的目標:

#想要爬取這些個公式的程式碼,ChromeF12看到的程式碼:

但是爬取到的程式碼如下:

#這個程式碼並不能顯示正確的公式,似乎這些程式碼都是js產生的,該如何爬取到這些程式碼。

为情所困为情所困2782 天前656

全部回覆(2)我來回復

  • 黄舟

    黄舟2017-05-17 10:06:18

    這是MathJax工具解析的。
    在HTML程式碼中查看公式p的下一個id為MathJax-Element-X的script,複製裡面的內容,在公式前後加兩個$$(前後都是兩個美元符,所以一共是四個)最後使用MathJax解析就可以了。
    說再多不如上圖:

    回覆
    0
  • 阿神

    阿神2017-05-17 10:06:18

    先抓包,把ajax請求抓出來,關鍵是看怎麼構造該請求,主要是一些參數的確定。套路大概下面幾個:1 在上下文搜搜相關參數是否存在,如果是伺服器回傳的,就直接請求伺服器取得該參數;2 如果該參數很明顯不變或變更有規律,可以直接偽造;3 如果參數很複雜且沒規律,那麼需要搜尋參數的key,找到加密的js,然後建構參數的值,得到ajax url;4 實在難度太大那麼用selenium等自動化工具驅動瀏覽器來訪問,它會直接給你渲染好所有js

    回覆
    0
  • 取消回覆