文章详情页
java如何爬取js处理后的代码
问题描述
页面地址: http://acm.hdu.edu.cn/showpro...
爬取的目标:
想要爬取这些个公式的代码,Chrome按F12看到的代码:
但是爬取到的代码如下:
这个代码并不能显示正确的公式,貌似这些代码都是js生成的,该如何爬取到这些代码。
问题解答
回答1:这是MathJax工具解析的。在HTML代码中查看公式p的下一个id为MathJax-Element-X的script,复制里面的内容,在公式前后加两个$$(前后都是两个美元符,所以一共是四个)最后使用MathJax解析就可以了。说再多不如上图:
回答2:先抓包,把ajax请求抓出来,关键是看怎么构造该请求,主要是一些参数的确定。套路大概下面几个:1 在上下文搜搜相关参数是否存在,如果是服务器返回的,就直接请求服务器获得该参数;2 如果该参数很明显不变或者变化有规律,可以直接伪造;3 如果参数很复杂且没规律,那么需要搜索参数的key,找到加密的js,然后构造参数的值,得到ajax url;4 实在难度太大那么用selenium等自动化工具驱动浏览器来访问,它会直接给你渲染好所有js
标签:
java
相关文章:
1. atom编译器 如何格式化前端代码文件?2. angular.js - Angular1使用bootstrap轮播条carousel不能自动轮播3. css3 - 我的css用less写的,eclipse的jsp文件要修改css很麻烦,怎么解决?4. angular.js - 焦虑!angular的ng-options的问题5. python - 基于scrapy-redis的分布式爬虫运行的时候不能正常运行 遇到的问题如下截图所示6. android - 新建项目卡在Gradle:Resolvedependencies’:app:_debugCompile’7. javascript - 关于Js中 this的一道题8. 移动端页面文字垂直居中兼容性问题9. javascript - 关于在angularjs的select中遇到的问题!!10. Android Studio 中程序添加不上Xutils 3.0 jar包
排行榜