Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java如何在屏幕上用小的输入刮之前?_Java_Html - Fatal编程技术网

Java如何在屏幕上用小的输入刮之前?

Java如何在屏幕上用小的输入刮之前?,java,html,Java,Html,有一个基本的html页面,我想屏幕刮。我不知道从哪里开始,所以任何帮助都将不胜感激。 要访问页面,需要一位输入,就像ID一样。 所以我想做的是 1.进入网页 2.输入Id 3.然后屏幕抓取(获取数据(我已经检查了源代码,它都是简单的html)),这是反显示的 4.其余的组织(字符串操作)等我可以做 如果有人能给我一些信息/开始,我将不胜感激:)要完成这项工作,您需要在这里做很多事情。首先,您需要获取HTML。我通常使用Apache的HttpClient来实现这一点。这里有一个快速入门指南:它在描

有一个基本的html页面,我想屏幕刮。我不知道从哪里开始,所以任何帮助都将不胜感激。 要访问页面,需要一位输入,就像ID一样。 所以我想做的是 1.进入网页 2.输入Id 3.然后屏幕抓取(获取数据(我已经检查了源代码,它都是简单的html)),这是反显示的 4.其余的组织(字符串操作)等我可以做


如果有人能给我一些信息/开始,我将不胜感激:)

要完成这项工作,您需要在这里做很多事情。首先,您需要获取HTML。我通常使用Apache的HttpClient来实现这一点。这里有一个快速入门指南:它在描述如何使用HttpClient方面做得比我希望创建的更好。他们的文档非常好

这将允许您以如下方式获取数据:

HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost(URL);
//
// here you can do things like add parameters used when connecting to the remote site    
//
HttpResponse response = client.execute(post);
BufferedReader rd = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
从那里你可以用它做任何事情,因为它基本上是一个StringBuffer

为了实际解析和“刮取”数据,我建议使用 它将允许您使用HTML做很多事情,并将其视为DOM

Document document = Jsoup.parse(HTML);
// OR
Document doc = Jsoup.parseBodyFragment(HTML);
Elements elements = doc.select("#SOME_ID");

以下是一些关于从何处开始的信息:

步骤1下载并在项目中使用以下JAR文件:

  • selenium-java-2.xx.0.jar
  • selenium-server-standalone-2.xx.0.jar

    目前,
    xx
    39

步骤2使用以下示例类模拟客户端浏览器以访问网页:

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;

class MyClass
{
    private WebDriver webDriver = null;

    public void open() throws Exception
    {
        webDriver = new FirefoxDriver();
    }

    public void close() throws Exception
    {
        webDriver.quit();
    }

    public void doStuff(String url) throws Exception
    {
        webDriver.get(url);
        // Use 'webDriver' in order to access the web-page, for example:
        WebElement inputBox = webDriver.findElement(By.id("someInputBox"));
        WebElement inputBtn = webDriver.findElement(By.id("someInputBtn"));
        inputBox.sendKeys("myUserId");
        inputBtn.click();
        String pageSource = webDriver.getPageSource();
        ...
    }
}

第一步:我不清楚任何事情。请记住,如果您真正想做的只是刮取数据,那么Selenium会给程序增加很多开销。