爬虫第一步遇到的坑
Posted yangms
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了爬虫第一步遇到的坑相关的知识,希望对你有一定的参考价值。
最近,跟着一个视频来学习,视频上爬取36kr这个网站,我也跟着写了,感觉挺简单的,使用Jsoup很快就拿到页面上的文字。谁知再分析网页获得自己需要的数据的时候,只能获得一个根标签,里面什么也没有,第一次爬虫遇到这样的问题,顿时懵逼了。问了几个人之后,自己明白了这是因为我要抓取的页面数据,它是使用react来实现的,也就是通过javascript的库渲染完成的。到此我基本知道了原因和接下来怎么抓取。
Jsoup不支持解析javaScript动态渲染的页面,在这里选取了HtmlUnit来解析。
首先到官网(HtmlUnit)上下载jar包。
看下htmlUnit的解析过程:
final WebClient webClient=new WebClient(); webClient.getOptions().setCssEnabled(false);//关闭css webClient.getOptions().setJavaScriptEnabled(true);//这个要为true,false依然获取不到 final HtmlPage page=webClient.getPage("https://36kr.com/"); HtmlDivision htmlDiv =page.querySelector("#app");//获取第一个div System.out.println(htmlDiv.asXml()); webClient.close();
setJavaScriptEnabled(true)设置为true之后,运行的时候会出现一些警告信息。
以上是关于爬虫第一步遇到的坑的主要内容,如果未能解决你的问题,请参考以下文章
python appium server代码调起和关闭遇到的坑