zhegexiaohuozi / SeimiCrawler

一个简单、敏捷、分布式的支持SpringBoot的Java爬虫框架;An agile, distributed crawler framework.
http://seimicrawler.org
Apache License 2.0
1.98k stars 681 forks source link

作者,用你那个DefaultRedisQueue做队列,好像并不能执行JS进行渲染。 #22

Closed Dreamerdream closed 7 years ago

Dreamerdream commented 7 years ago

我爬取需要JS渲染的网站,用defaultlocalqueue是能正确的将渲染完的网页给我的,但是我用你那个DefaultRedisQueue去做队列,返回给我的document好像是没有经过js渲染的数据,类似于json格式的数据返回给我了。 例子: @Crawler(name = "jdcrawlers",httpTimeOut = 30000,queue = DefaultRedisQueue.class) Request request = new Request(); request.setUrl(URL); request.useSeimiAgent(); request.setSeimiAgentRenderTime(5000); request.setSeimiAgentUseCookie(true); request.setSeimiAgentScript("$(function(){$(document).scrollTop($(document).height()-$(window).height());});"); request.setCallBack("jingdong"); requests.add(request); JXDocument document = response.document(); 我看brpop出来的request任然是原来那个request,但是提交到seimiagent之后返回document的是类似于json格式的数据,并不是html网页,我看你那个demo爬的是csdn.blog,他是没有经过js渲染的,所以它返回的任然是html,并不json格式的数据