爬虫第一步遇到的坑

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代码调起和关闭遇到的坑

那些年用xpath玩爬虫时遇到的坑

阿里云服务器ECS WindowsServer2016配置IIS遇到的坑

如何用ffmpeg截取视频片段&截取时间不准确的坑

在技术胖博客上学习ES6遇到的坑和想法