首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Crawler4j和Tripadvisor

Crawler4j和Tripadvisor
EN

Stack Overflow用户
提问于 2012-06-27 18:44:33
回答 2查看 1.1K关注 0票数 0

我正在使用crawler4j为Tripadvisor编写一个爬虫。我需要收集一个项目的所有评论,但是指向“下一个”评论的链接(那些带有数字的评论)不是一个链接,而是一个javascript函数。这个函数是在Tripadvisor的服务器中定义的。有没有办法评估这些函数并获得它们返回的页面?

EN

回答 2

Stack Overflow用户

发布于 2012-06-27 18:51:49

你试过eval吗?如果需要更改调用者上下文,则为call

eval接受一个字符串作为输入并尝试执行它。

票数 0
EN

Stack Overflow用户

发布于 2013-02-07 21:09:24

您可以使用HTMLUnit来获取页面内容。这个库可以用来运行所有的javascript代码,然后获得页面代码进行操作。

下面是一个code示例,取自一个关于堆栈溢出的问题。

代码语言:javascript
运行
复制
    HtmlElement element4 = null;
Iterable<HtmlElement> iterable5 = page.getAllHtmlChildElements();
Iterator<HtmlElement> i6 = iterable5.iterator();
while(i6.hasNext() {
    HtmlElement anElement = i6.next();
        if(anElement instanceof HtmlImage) {
        HtmlImage input = (HtmlImage) anElement;
        String[] elements = "http://example.com/pages/powerbutton.png".split( "/" );

        if(input.getSrcAttribute().indexOf(elements[elements.length-1] )> -1 ){
            element4 = input;
            break;
        }
    }
} 
HtmlPage page = element4.click();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11224441

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档