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