文章詳情頁
java如何爬取js處理后的代碼
瀏覽:201日期:2023-12-07 11:18:37
問題描述
頁面地址: http://acm.hdu.edu.cn/showpro...
爬取的目標(biāo):
想要爬取這些個公式的代碼,Chrome按F12看到的代碼:
但是爬取到的代碼如下:

這個代碼并不能顯示正確的公式,貌似這些代碼都是js生成的,該如何爬取到這些代碼。
問題解答
回答1:這是MathJax工具解析的。在HTML代碼中查看公式p的下一個id為MathJax-Element-X的script,復(fù)制里面的內(nèi)容,在公式前后加兩個$$(前后都是兩個美元符,所以一共是四個)最后使用MathJax解析就可以了。說再多不如上圖:


先抓包,把a(bǔ)jax請求抓出來,關(guān)鍵是看怎么構(gòu)造該請求,主要是一些參數(shù)的確定。套路大概下面幾個:1 在上下文搜搜相關(guān)參數(shù)是否存在,如果是服務(wù)器返回的,就直接請求服務(wù)器獲得該參數(shù);2 如果該參數(shù)很明顯不變或者變化有規(guī)律,可以直接偽造;3 如果參數(shù)很復(fù)雜且沒規(guī)律,那么需要搜索參數(shù)的key,找到加密的js,然后構(gòu)造參數(shù)的值,得到ajax url;4 實(shí)在難度太大那么用selenium等自動化工具驅(qū)動瀏覽器來訪問,它會直接給你渲染好所有js
標(biāo)簽:
java
相關(guān)文章:
1. javascript - immutable配合react提升性能?2. javascript - sublime快鍵鍵問題3. javascript - nodejs關(guān)于進(jìn)程間發(fā)送句柄的一點(diǎn)疑問4. Apache 已經(jīng)把網(wǎng)站根目錄的改為allow from all了,但是服務(wù)器還是不能訪問?5. 實(shí)現(xiàn)bing搜索工具urlAPI提交6. javascript - 移動端上不能實(shí)現(xiàn)拖拽布局嗎?7. vue.js - Vue 如何像Angular.js watch 一樣監(jiān)聽數(shù)據(jù)變化8. phpstudy8.1支持win11系統(tǒng)嗎?9. 配置Apache時,添加對PHP的支持時語法錯誤10. css - 寫頁面遇到個布局問題,求大佬們幫解答,在線等,急!~
排行榜

熱門標(biāo)簽
網(wǎng)公網(wǎng)安備