javagethtml的简单介绍
本篇文章给大家谈谈javagethtml,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
java爬虫 怎么动态的获取html
package httpclient_learn;import java.io.IOException;import org.apache.http.HttpEntity;import org.apache.http.HttpStatus;import org.apache.http.client.ClientProtocolException;import org.apache.http.client.methods.CloseableHttpResponse;import org.apache.http.client.methods.HttpGet;import org.apache.http.client.utils.HttpClientUtils;import org.apache.http.impl.client.CloseableHttpClient;import org.apache.http.impl.client.HttpClients;import org.apache.http.util.EntityUtils;public class HttpClientTest {
public static void main(String[] args) { //1.生成httpclient,相当于该打开一个浏览器
CloseableHttpClient httpClient = HttpClients.createDefault();
CloseableHttpResponse response = null; //2.创建get请求,相当于在浏览器地址栏输入 网址
HttpGet request = new HttpGet(""); try { //3.执行get请求,相当于在输入地址栏后敲回车键
response = httpClient.execute(request);
//4.判断响应状态为200,进行处理
if(response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) { //5.获取响应内容
HttpEntity httpEntity = response.getEntity();
String html = EntityUtils.toString(httpEntity, "utf-8");
System.out.println(html);
} else { //如果返回状态不是200,比如404(页面不存在)等,根据情况做处理,这里略
System.out.println("返回状态不是200");
System.out.println(EntityUtils.toString(response.getEntity(), "utf-8"));
}
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally { //6.关闭 HttpClientUtils.closeQuietly(response);
HttpClientUtils.closeQuietly(httpClient);
}
}
}
java获取html
Java访问网络url,获取网页的html代码
方式一:
一是使用URL类的openStream()方法:
openStream()方法与制定的URL建立连接并返回InputStream类的对象,以从这一连接中读取数据;
openStream()方法只能读取网络资源。
二是使用URL类的openConnection()方法:
openConnection()方法会创建一个URLConnection类的对象,此对象在本地机和URL指定的远程节点建立一条HTTP协议的数据通道,可进行双向数据传输。类URLConnection提供了很多设置和获取连接参数的方法,最常用到的是getInputStream()和getOutputStream()方法。
openConnection()方法既能读取又能发送数据。
列如:
public static void main(String args[]) throws Exception {
try {
//输入url路径
URL url = new URL("url路径"); InputStream in =url.openStream(); InputStreamReader isr = new InputStreamReader(in); BufferedReader bufr = new BufferedReader(isr); String str; while ((str = bufr.readLine()) != null) { System.out.println(str); } bufr.close(); isr.close(); in.close(); } catch (Exception e) { e.printStackTrace(); } }
如何使用java的正则表达式提取html标签
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test {
public static void main(String args[]) {
String html = "titleABCD/titlegsdggastitle/titlejklltitle005/title";
// 简单示例,相当于String html=getHtml(String urlString);
List resultList = getContext(html);
for (Iterator iterator = resultList.iterator(); iterator.hasNext();) {
String context = (String) iterator.next();
System.out.println(context);
}
}
/**
* 提取"titleXXXX/title"中的文字XXXX
* @param html 要解析的html文档内容
* @return 解析结果,可以多次匹配,每次匹配的结果按文档中出现的先后顺序添加进结果List
*/
public static List getContext(String html) {
List resultList = new ArrayList();
Pattern p = Pattern.compile("title([^/title]*)");//匹配title开头,/title结尾的文档
Matcher m = p.matcher(html );//开始编译
while (m.find()) {
resultList.add(m.group(1));//获取被匹配的部分
}
return resultList;
}
}
java怎样读取html文件
java可以使用jsoup、htmlparser等工具进行html的读取和解析,以下是详细说明:
1、jsoup 是一款 Java 的HTML 解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于JQuery的操作方法来取出和操作数据。据说它是基于MIT协议发布的。
jsoup的主要功能如下:
从一个URL,文件或字符串中解析HTML;
使用DOM或CSS选择器来查找、取出数据;
可操作HTML元素、属性、文本;
示例代码:
Document doc = Jsoup.parse(input, "UTF-8", "");
Element content = doc.getElementById("content");
Elements links = content.getElementsByTag("a");
for (Element link : links) {
String linkHref = link.attr("href");
String linkText = link.text();
}
2、htmlparser是一个纯的java写的html解析的库,它不依赖于其它的java库文件,主要用于改造或提取html。它能超高速解析html,而且不会出错。现在htmlparser最新版本为2.0。 据说htmlparser就是目前最好的html解析和分析的工具。无论你是想抓取网页数据还是改造html的内容,用了htmlparser绝对会忍不住称赞。
在线文档: ;
示例代码:
Parser parser = new Parser ("");
NodeList list = parser.parse (null);
Node node = list.elementAt (0);
NodeList sublist = node.getChildren ();
System.out.println (sublist.size ());
javagethtml的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、javagethtml的信息别忘了在本站进行查找喔。
发布于:2022-11-23,除非注明,否则均为
原创文章,转载请注明出处。