java抓取网页内容(我想做一个java网页指定内容的抓取。不知道怎么做 )
优采云 发布时间: 2021-12-14 00:05java抓取网页内容(我想做一个java网页指定内容的抓取。不知道怎么做
)
使用htmlparser做java抓取网页的指定内容。. 我想对java网页的指定内容进行爬网。. .
我不知道怎么做,请帮助我,不要太复杂。. .
首先谢谢大家。. 不好意思,这件事拖了2天了,有点着急。. . --------------------编程问答--------------------whocanhelpme。. .
我需要你!!!!
请!--------------------编程问答--------------------使用流阅读网页,然后只输出字符串,(你应该可以处理字符串)然后根据你的目标选择节点--------------------编程问题and Answers------ --------------2楼z740003446的回复:用流读取网页,然后输出为字符串,(应该可以处理字符串),然后根据您的目标节点进行选择
你能不能说得更具体一点,我根本不懂htmlparser ------------编程问答-------------- - - -
import java.io.BufferedReader;<br />
import java.io.InputStreamReader;<br />
import java.net.HttpURLConnection;<br />
import java.net.URL;<br />
<br />
public class URLUtil {<br />
<br />
public static String getHtml(String urlString) {<br />
try {<br />
StringBuffer html = new StringBuffer();<br />
URL url = new URL(urlString);<br />
HttpURLConnection conn = (HttpURLConnection) url.openConnection();<br />
InputStreamReader isr = new InputStreamReader(conn.getInputStream());<br />
BufferedReader br = new BufferedReader(isr);<br />
String temp;<br />
while ((temp = br.readLine()) != null) {<br />
html.append(temp).append("\n");<br />
}<br />
br.close();<br />
isr.close();<br />
return html.toString();<br />
} catch (Exception e) {<br />
e.printStackTrace();<br />
return null;<br />
}<br />
}<br />
<br />
public static void main(String[] args) {<br />
System.out.println(URLUtil.getHtml("http://www.fastunit.com"));<br />
}<br />
}
--------------------编程问答 --------------------引用leehomwong 4日的回复楼层:Javacode
importjava.io.BufferedReader;
importjava.io.InputStreamReader;
.HttpURLConnection;
.URL;
publicclassURLUtil{
publicstaticStringgetHtml(Str……
我只想抢它的标题,我该怎么改?--------------------编程问答 --------------------引用leehomwong 4日的回复楼层:Javacode
importjava.io.BufferedReader;
importjava.io.InputStreamReader;
.HttpURLConnection;
.URL;
publicclassURLUtil{
publicstaticStringgetHtml(Str……
我错了,我的意思是我不希望它显示 html 代码,只显示纯文本。. 需要怎么改--------------------编程问答--------------------我只想抓个网站的纯文本标题,和内容。. .
有没有办法实现这一目标。. . 这里的任何人。. . 求助~--------------------编程问答--------------------看API .
使用过滤器过滤标题--------------------编程问答--------------------有任何人~!--------------------编程问答 --------------------引用 yuerzm 8号回复楼层:请参阅下载 API。
使用过滤器过滤标题
我不知道怎么做,新手。. --------------------编程问答 --------------------谁能告诉我更具体的?
你花几十分钟做的事,我可能要花上几十个小时。. . 麻烦大家了~帮帮我--------------------编程问答-------------------- 使用jsoup百度找到相关的API,很容易上手。--------------------编程问答 -------------------- 回复基本没做过一般简单使用常规过滤
使用 htmlparser 处理更复杂的
实际上编写自己的解析器
您使用 htmlparserHTMLEditorKit.ParserCallback 获取标题
publicvoidhandleStartTag(HTML.Tagt,MutableAttributeSeta,intpos)
这是开始标签
最好使用 if(t.equals(HTML.Tag.TITLE)) 来获得它。网站 支持。比如csdn,向上看左上角
他的htmltitle写了pos定位或者左右标签定位,不可用。
不要问关于你自己研究的其他问题--------------------编程问答---------------- --- ---------------------编程问答--------------------引用作者的回复13楼的Ollim:基本上一直没抓到回复。一般简单的正则过滤
使用 htmlparser 处理更复杂的
实际上编写自己的解析器
您使用 htmlparserHTMLEditorKit.ParserCallback 获取标题
publicvoidhandleStartTag(HTML.Tagt,MutableAttributeSeta,intpos)
这是开始标签
使用 if(t.……
如果我不明白,我必须问。. 你必须在开始之前学习。我现在都很困惑。. --------------------编程问答 -------------------- 为什么没有人。. --------------------编程问答--------------------引用seven_tee 16日的回复楼:怎么没人。.
写下代码给你。
public static void main(String[] args) {<br />
String htmlcode = ReadUrl.getHtml("http://tieba.baidu.com/p/1347940189");<br />
Parser parser = Parser.createParser(htmlcode, "GBK");<br />
HtmlPage page = new HtmlPage(parser);<br />
try <br />
{ <br />
parser.visitAllNodesWith(page);<br />
}<br />
catch (ParserException e1)<br />
{ <br />
e1 = null;<br />
}<br />
// 显示标题<br />
System.out.println(page.getTitle());<br />
// 显示文本<br />
System.out.println(getContent());<br />
}<br />
<br />
private static String getContent() {<br />
StringBean sBean = new StringBean();<br />
sBean.setLinks(true);<br />
sBean.setCollapse(true);<br />
sBean.setReplaceNonBreakingSpaces(true);<br />
sBean.setURL("http://tieba.baidu.com/p/1347940189");<br />
// System.out.println("This content is:"+sBean.getStrings());<br />
return sBean.getStrings();<br />
}
--------------------编程问答--------------------引用dyb19877517号回复floor:引用16楼seven_tee的回复:
为什么没人。.
写下代码给你。
代码
publicstaticvoidmain(String[]args){
Stringhtmlcode=ReadUrl.getHtml("");
解析器...
ReadUrl需要导入什么包?
--------------------编程Q&A --------------------引用seven_tee 18日的回复楼:引用17楼dyb198775的回复:
引用16楼seven_tee的回复:
为什么没人。.
写下代码给你。
代码
publicstaticvoidmain(String[]args){
Stringhtmlcode=ReadUrl.getHtml("");
普……
importjava.io.BufferedReader;
importjava.io.InputStreamReader;
.HttpURLConnection;
.URL;
importorg.htmlparser.Parser;
importorg.htmlparser.beans.StringBean;
importorg.htmlparser.util.ParserException;
importorg.htmlparser.visitors.HtmlPage;--------------------编程问答--------------------引用19楼dyb198775的回复: 引用18楼seven_tee的回复:
引用17楼dyb198775的回复:
引用16楼seven_tee的回复:
为什么没人。.
写下代码给你。
代码
publicstaticvoidmain(String[]args){
Stringhtmlcode=ReadUrl.getHtml("……
Stringhtmlcode=ReadUrl.getHtml("");
我这段代码的ReadUrl报错,应该导入什么包?--------------------编程Q&A --------------------引用seven_tee 18日的回复楼:引用17楼dyb198775的回复:
引用16楼seven_tee的回复:
为什么没人。.
写下代码给你。
代码
publicstaticvoidmain(String[]args){
Stringhtmlcode=ReadUrl.getHtml("");
普……
package com.dyb.url;<br />
<br />
import java.io.BufferedReader;<br />
import java.io.InputStreamReader;<br />
import java.net.HttpURLConnection;<br />
import java.net.URL;<br />
<br />
import org.htmlparser.Parser;<br />
import org.htmlparser.beans.StringBean;<br />
import org.htmlparser.util.ParserException;<br />
import org.htmlparser.visitors.HtmlPage;<br />
<br />
<br />
<br />
public class ReadUrl {<br />
public static String getHtml(String urlString) {<br />
try {<br />
StringBuffer html = new StringBuffer();<br />
URL url = new URL(urlString);<br />
HttpURLConnection conn = (HttpURLConnection) url.openConnection();<br />
InputStreamReader isr = new InputStreamReader(conn.getInputStream());<br />
BufferedReader br = new BufferedReader(isr);<br />
String temp;<br />
while ((temp = br.readLine()) != null) {<br />
html.append(temp).append("\n");<br />
}<br />
br.close();<br />
isr.close();<br />
return html.toString();<br />
} catch (Exception e) {<br />
e.printStackTrace();<br />
return null;<br />
}<br />
}<br />
<br />
public static void main(String[] args) {<br />
String htmlcode = ReadUrl.getHtml("http://tieba.baidu.com/p/1347940189");<br />
Parser parser = Parser.createParser(htmlcode, "GBK");<br />
HtmlPage page = new HtmlPage(parser);<br />
try <br />
{ <br />
parser.visitAllNodesWith(page);<br />
}<br />
catch (ParserException e1)<br />
{ <br />
e1 = null;<br />
}<br />
// 显示标题<br />
System.out.println(page.getTitle());<br />
// 显示文本<br />
System.out.println(getContent());<br />
}<br />
<br />
private static String getContent() {<br />
StringBean sBean = new StringBean();<br />
sBean.setLinks(true);<br />
sBean.setCollapse(true);<br />
sBean.setReplaceNonBreakingSpaces(true);<br />
sBean.setURL("http://tieba.baidu.com/p/1347940189");<br />
// System.out.println("This content is:"+sBean.getStrings());<br />
return sBean.getStrings();<br />
}<br />
}<br />
--------------------编程问答--------------------引用7_tee 20号的回复楼:引用19楼dyb198775的回复:
引用18楼seven_tee的回复:
引用17楼dyb198775的回复:
引用16楼seven_tee的回复:
为什么没人。.
写下代码给你。
代码
publicstaticvoidmain(String[]args){
Stringhtmlcode=ReadUrl.ge……
package com.dyb.url;<br />
<br />
import java.io.BufferedReader;<br />
import java.io.InputStreamReader;<br />
import java.net.HttpURLConnection;<br />
import java.net.URL;<br />
<br />
import org.htmlparser.Parser;<br />
import org.htmlparser.beans.StringBean;<br />
import org.htmlparser.util.ParserException;<br />
import org.htmlparser.visitors.HtmlPage;<br />
<br />
<br />
<br />
public class ReadUrl {<br />
public static String getHtml(String urlString) {<br />
try {<br />
StringBuffer html = new StringBuffer();<br />
URL url = new URL(urlString);<br />
HttpURLConnection conn = (HttpURLConnection) url.openConnection();<br />
InputStreamReader isr = new InputStreamReader(conn.getInputStream());<br />
BufferedReader br = new BufferedReader(isr);<br />
String temp;<br />
while ((temp = br.readLine()) != null) {<br />
html.append(temp).append("\n");<br />
}<br />
br.close();<br />
isr.close();<br />
return html.toString();<br />
} catch (Exception e) {<br />
e.printStackTrace();<br />
return null;<br />
}<br />
}<br />
<br />
public static void main(String[] args) {<br />
String htmlcode = ReadUrl.getHtml("http://tieba.baidu.com/p/1347940189");<br />
Parser parser = Parser.createParser(htmlcode, "GBK");<br />
HtmlPage page = new HtmlPage(parser);<br />
try <br />
{ <br />
parser.visitAllNodesWith(page);<br />
}<br />
catch (ParserException e1)<br />
{ <br />
e1 = null;<br />
}<br />
// 显示标题<br />
System.out.println(page.getTitle());<br />
// 显示文本<br />
System.out.println(getContent());<br />
}<br />
<br />
private static String getContent() {<br />
StringBean sBean = new StringBean();<br />
sBean.setLinks(true);<br />
sBean.setCollapse(true);<br />
sBean.setReplaceNonBreakingSpaces(true);<br />
sBean.setURL("http://tieba.baidu.com/p/1347940189");<br />
// System.out.println("This content is:"+sBean.getStrings());<br />
return sBean.getStrings();<br />
}<br />
}<br />
补充:Java , Web 开发