尝试从我使用Java浏览器中看到的网页获取确切的源代码。

时间:2013-12-08 16:07:42

标签: java htmlunit urlconnection

编程非常新,即第二天。我正在寻找财务网页,并试图从网页中提取股票代码。使用来自网页ID的源代码,如类似ADK-A,AEH,AED等的列表,这是在网页和浏览器生成的源代码上显示的符号列表。

通过Chrome的浏览器查看源代码,你可以看到股票代码,但是使用java,即使我得到了一些源代码,我尝试股票代码和大量其他代码的方式也从未生成。

我尝试过使用URL类,URLConnection类和HtmlUnit类的实现。我不知道多少,但我猜测这部分源是由某种javascript生成的?我认为使用Htmlunit会有所帮助,因为它可以处理脚本吗?它至少没有我使用它的方式。无论如何这是我试过的

private static String name1 = "http://www.quantumonline.com/pfdtable.cfm?Type=TaxAdvPfds&SortColumn=Company&SortOrder=ASC";

//实施1

public static void main (String[] args) throws IOException {
    URL thisUrl = new URL(name1);
    BufferedReader thisUrlBufferedReader = new BufferedReader (new InputStreamReader(thisUrl.openStream()));
    String currentline;
    while( (currentline = thisUrlBufferedReader.readLine()) != null) {
if ((currentline.contains("href")) == true) {
    System.out.println(currentline);
    }
    }
}

//实现2.我对URLConnection的addRequestProperty的捏造是为了确保我的网站不会根据我的用户代理限制我,我 老实说,我真的不知道它做了什么,但我尝试了有没有,没有帮助

public static void main (String[] args) throws IOException {
    URL thisUrl = new URL(name1);
    URLConnection thisUrlConnect = thisUrl.openConnection();
    thisUrlConnect.addRequestProperty("User-Agent", "the user agent i got from http://whatsmyuseragent.com/");
    InputStream input = thisUrlConnect.getInputStream();
    BufferedReader thisUrlBufferedReader = new BufferedReader (new InputStreamReader (input));
    String currentline;
    while( (currentline = thisUrlBufferedReader.readLine()) != null) {
    System.out.println(currentline);
    }
}

//实现3我还使用了WebClient(BrowserVersion.CHROME)以及所有其他版本 //没什么用的

public static void main(String[] args) throws Exception { 
 WebClient webClient = new WebClient(); 
    HtmlPage page = webClient.getPage(name1); 
    System.out.println(page.asXml()); 
    }
}

无论如何,任何人都有任何想法。致谢!!!

0 个答案:

没有答案