Closed Dreamerdream closed 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格式的数据
我爬取需要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格式的数据