文章詳情頁
java如何爬取js處理后的代碼
瀏覽:92日期:2023-12-07 11:18:37
問題描述
頁面地址: http://acm.hdu.edu.cn/showpro...
爬取的目標:
想要爬取這些個公式的代碼,Chrome按F12看到的代碼:
但是爬取到的代碼如下:
這個代碼并不能顯示正確的公式,貌似這些代碼都是js生成的,該如何爬取到這些代碼。
問題解答
回答1:這是MathJax工具解析的。在HTML代碼中查看公式p的下一個id為MathJax-Element-X的script,復制里面的內容,在公式前后加兩個$$(前后都是兩個美元符,所以一共是四個)最后使用MathJax解析就可以了。說再多不如上圖:
先抓包,把ajax請求抓出來,關鍵是看怎么構造該請求,主要是一些參數的確定。套路大概下面幾個:1 在上下文搜搜相關參數是否存在,如果是服務器返回的,就直接請求服務器獲得該參數;2 如果該參數很明顯不變或者變化有規律,可以直接偽造;3 如果參數很復雜且沒規律,那么需要搜索參數的key,找到加密的js,然后構造參數的值,得到ajax url;4 實在難度太大那么用selenium等自動化工具驅動瀏覽器來訪問,它會直接給你渲染好所有js
標簽:
java
相關文章:
1. Docker for Mac 創建的dnsmasq容器連不上/不工作的問題2. docker安裝后出現Cannot connect to the Docker daemon.3. css - 定位為absolute的父元素中的子元素 如何設置在父元素的下面?4. javascript - angualr2中emit觸發一個方法然后怎么獲得這個promise的結果5. java - 請問在main方法中寫成對象名.屬性()并賦值,與直接參參數賦值輸錯誤是什么原因?6. mysql里的大表用mycat做水平拆分,是不是要先手動分好,再配置mycat7. java - Spring boot 讀取 放在 jar 包外的,log4j 配置文件,系統有創建日志文件,不寫入日志信息。8. javascript - 圖片鏈接請求一直是pending狀態,導致頁面崩潰,怎么解決?9. python - beautifulsoup獲取網頁內容的問題10. 怎么用css截取字符?
排行榜
