相关疑难解决方法(0)

68
推荐指数
4
解决办法
8万
查看次数

任何Java等同于PhantomJS?

我想知道是否有任何类似于PhantomJS的Java库.我想要实现的是能够模拟表单登录并从网页提交动作,以及也可以进行页面抓取.我知道jsoup可以进行页面抓取而不是页面自动化.

提前致谢!

干杯,亚历克斯

java automated-tests web-scraping selenium-webdriver

12
推荐指数
3
解决办法
3万
查看次数

如何让 jsoup 等待完整页面(跳过进度页面)加载?

我正在尝试使用 Jsoup 解析网页并提取数据。但是链接是动态的,在显示详细信息之前会抛出一个等待加载的页面。所以 Jsoup 似乎处理的是等待页面而不是详细信息页面。有没有办法让这个等到页面完全加载?

java web-scraping jsoup

6
推荐指数
1
解决办法
1万
查看次数

如何使用JSoup获得隐藏的输入值?

我有资料

<input name="authenticity_token" type="hidden" value="aiUlw1Yh4W47lPQearSEdTkU0rhKpziZOweq5PMTV0Q=" />
Run Code Online (Sandbox Code Playgroud)

我正在尝试通过Jsoup选择它。

 Element input = doc.select("input[name=authenticity_token]").first();

 String auth_token = input.attr("value");
Run Code Online (Sandbox Code Playgroud)

但这不起作用。

我在字符串auth_token =处收到空指针异常。

Crime.ic.Main.main上的java.lang.NullPointerException(Main.java:2)

我究竟做错了什么?

java jsoup

5
推荐指数
1
解决办法
1974
查看次数

Java JSoup错误提取URL

我正在创建一个应用程序,使我能够从特定网站获取值到控制台.值来自一个<span>元素,我正在使用JSoup.

我的挑战与此错误有关:

获取URL时出错

这是我的Java代码:

public class TestSl {
    public static void main(String[] args) throws IOException {
        Document doc = Jsoup.connect("https://stackoverflow.com/questions/11970938/java-html-parser-to-extract-specific-data").get();
        Elements spans = doc.select("span[class=hidden-text]");
        for (Element span: spans) {
            System.out.println(span.text());
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这是控制台上的错误:

线程"main"中的异常org.jsoup.HttpStatusException:HTTP错误提取URL.Status = 403,URL = Java Html解析器提取特定数据? at org.jsoup.helper.HttpConnection $ Response.execute(HttpConnection.java:590)org.jsoup.helper.HttpConnection $ Response.execute(HttpConnection.java:540)at org.jsoup.helper.HttpConnection.execute(HttpConnection)的.java:227)在org.jsoup.helper.HttpConnection.get(HttpConnection.java:216)在TestSl.main(TestSl.java:19)

我做错了什么,如何解决?

java jsoup

4
推荐指数
1
解决办法
1万
查看次数

Jsoup解析用Java动态加载网页

import java.io.IOException;
import java.util.ArrayList;

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Node;
import org.jsoup.select.Elements;


public class listGrabber {
    public static void main(String[]args) {
        try {
            Document doc = Jsoup.connect("https://play.google.com/store/apps/category/GAME_ACTION/collection/topselling_free").get();
            int count = 0;
            Elements elements;
            String url;
            ArrayList<String> list = new ArrayList<>();
            do{
                elements = doc.select("a[class^=title]").get(count).select("a[class^=title]");

                url = "";
                url = elements.attr("abs:title").replaceAll("https://play.google.com/store/apps/category/GAME_ACTION/collection/","");
                url = url.replaceAll("®|™","");
                url = url.replaceAll("[(](.*)[)]","");
                list.add(url);
                System.out.println(url);
                count++;
            }while (url!="" &&url!=null);
            // String divContents =
            // doc.select(".id-app-orig-desc").first().text();
            // elements.remove("div");
        } catch (IOException e) {

        }
    }
}
Run Code Online (Sandbox Code Playgroud)

如上所示,我正在尝试从https://play.google.com/store/apps/category/GAME_ACTION/collection/topselling_free中 …

java parsing jsoup

2
推荐指数
1
解决办法
3447
查看次数