新聞中心
求教大神關于java獲取網(wǎng)頁源碼的問題 大神速來
htmlparser.框架,是解析網(wǎng)頁的。
創(chuàng)新互聯(lián)專注于溪湖企業(yè)網(wǎng)站建設,響應式網(wǎng)站開發(fā),商城網(wǎng)站建設。溪湖網(wǎng)站建設公司,為溪湖等地區(qū)提供建站服務。全流程按需求定制設計,專業(yè)設計,全程項目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務
htmlparser是一個純的java寫的html解析的庫,它不依賴于其它的java庫文件,主要用于改造或
提取html。它能超高速解析html,而且不會出錯?,F(xiàn)在htmlparser最新版本為2.0。
毫不夸張地說,htmlparser就是目前最好的html解析和分析的工具。
無論你是想抓取網(wǎng)頁數(shù)據(jù)還是改造html的內(nèi)容,用了htmlparser絕對會忍不住稱贊。
jsoup也是。
Java 程序在解析HTML 文檔時,相信大家都接觸過htmlparser 這個開源項目,我曾經(jīng)在IBM DW
上發(fā)表過兩篇關于htmlparser 的文章,分別是:從HTML中攫取你所需的信息 和擴展HTMLParser
對自定義標簽的處理能力。但現(xiàn)在我已經(jīng)不再使用htmlparser 了,原因是htmlparser 很少更新,但最重要的是有了jsoup 。
Java訪問指定URL并獲取網(wǎng)頁源代碼
1.編寫useSourceViewer 類的基本框架,該類僅包括無返回值的main ()方法,該方法從參數(shù)中獲取URL,通過輸入緩沖和輸出緩沖將該URL 原碼輸出。
2.編寫useSourceViewer 類,代碼如下:
import java.net.*;
import java.io.*;
public class useSourceViewer
{
public static void main (String[] args)
{
if (args.length 0)
{
try
{
//讀入URL
URL u = new URL(args[0]);
InputStream in = u.openStream( );
// 為增加性能存儲輸入流
in = new BufferedInputStream(in);
// 將輸入流連接到閱讀器
Reader r = new InputStreamReader(in);
int c;
while ((c = r.read( )) != -1)
{
System.out.print((char) c);
}
Object o = u.getContent( );
System.out.println("I got a " + o.getClass().getName( ));
}
catch (MalformedURLException e)
{
System.err.println(args[0] + " is not a parseable URL");
}
catch (IOException e)
{
System.err.println(e);
}
} // end if
} // end main
} // end SourceViewer}
java如何獲取帶有css js 執(zhí)行完后的網(wǎng)頁源代碼
只能抓取靜態(tài)的頁面源代碼,因為很多事件和樣式是動態(tài)綁定和執(zhí)行的,所以不可能獲取到執(zhí)行完后的代碼的。
public
String
getHtmlContent(String
htmlurl)
{
URL
url;
String
temp;
StringBuffer
sb
=
new
StringBuffer();
try
{
url
=
new
URL(htmlurl);
BufferedReader
in
=
new
BufferedReader(new
InputStreamReader(url.openStream(),
"gbk"));
while
((temp
=
in.readLine())
!=
null)
{
sb.append(temp);
}
in.close();
}
catch
(final
MalformedURLException
me)
{
me.getMessage();
}
catch
(final
IOException
e)
{
e.printStackTrace();
}
return
sb.toString();
}
如何通過java,javascript獲得某一指定URL的網(wǎng)頁源碼?
javascript獲取網(wǎng)頁源碼,測試了能通過的,你試下!
你把 l t ; g t;的空格刪了,因為百度不允許那些字符。
html
head
meta http-equiv="Content-Type" content="text/html; charset=gb2312" /
titletest/title
/head
body
關于百度頁面;p=irol-homeprofile源碼內(nèi)容如下:br /
div id="t1"/div
script type="text/javascript"
function createXmlHttpRequest()
{
try {return new XMLHttpRequest();}
catch(e)
{
return new ActiveXObject("Microsoft.XMLHTTP");}
}
var xmlHttp = createXmlHttpRequest();
xmlHttp.open("get", ";p=irol-homeprofile",false);
xmlHttp.send();
if(xmlHttp.readyState == 4 xmlHttp.status == 200)
{
str = xmlHttp.responseText;//str即為返回的html內(nèi)容
var str1 = new RegExp("","g");
var str2 = new RegExp("","g");
var str3 = new RegExp("\r","g");
str=str.replace(str2," l t ;"); //把空格刪了,百度會把那些字符替換掉,不得已打空格
str=str.replace(str1," g t ;"); //把空格刪了,百度會把那些字符替換掉,不得已打空格
str=str.replace(str3,"br /");
document.getElementById("t1").innerHTML = str;
}
/script
/body
/html
java中如何根據(jù)一個網(wǎng)址獲得該網(wǎng)頁的源代碼,急求
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
public class HttpTest {
String urlString;
public static void main(String[] args) throws Exception {
HttpTest client = new HttpTest(網(wǎng)址);
client.run();
}
public HttpTest(String urlString) {
this.urlString = urlString;
}
public void run() throws Exception {
//生成一個URL對象
URL url = new URL(urlString);
//打開URL
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
//得到輸入流,即獲得了網(wǎng)頁的內(nèi)容
BufferedReader reader = new BufferedReader(new InputStreamReader(urlConnection
.getInputStream()));
String line;
// 讀取輸入流的數(shù)據(jù),并顯示
while ((line = reader.readLine()) != null){
System.out.println(line);
}
}
}
java中如何根據(jù)一個網(wǎng)址獲得該網(wǎng)頁的源代碼?
package test;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
public class HttpTest {
private String u;
private String encoding;
public static void main(String[] args) throws Exception {
HttpTest client = new HttpTest("", "UTF-8");
client.run();
}
public HttpTest(String u, String encoding) {
this.u = u;
this.encoding = encoding;
}
public void run() throws Exception {
URL url = new URL(u);// 根據(jù)鏈接(字符串格式),生成一個URL對象
HttpURLConnection urlConnection = (HttpURLConnection) url
.openConnection();// 打開URL
BufferedReader reader = new BufferedReader(new InputStreamReader(
urlConnection.getInputStream(), encoding));// 得到輸入流,即獲得了網(wǎng)頁的內(nèi)容
String line; // 讀取輸入流的數(shù)據(jù),并顯示
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
}
}
根據(jù)具體問題類型,進行步驟拆解/原因原理分析/內(nèi)容拓展等。
具體步驟如下:/導致這種情況的原因主要是……
新聞名稱:java獲取頁面源代碼,如何從網(wǎng)頁源代碼中獲取數(shù)據(jù)
網(wǎng)站URL:http://ef60e0e.cn/article/dscscoh.html