编程非常新,即第二天。我正在寻找财务网页,并试图从网页中提取股票代码。使用来自网页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());
}
}
无论如何,任何人都有任何想法。致谢!!!