import java.net.MalformedURLException; import java.net.URL; import java.security.SecureRandom; import java.security.cert.CertificateException; import java.security.cert.X509Certificate; import java.util.Map; import javax.net.ssl.HostnameVerifier; import javax.net.ssl.HttpsURLConnection; import javax.net.ssl.SSLContext; import javax.net.ssl.SSLSession; import javax.net.ssl.X509TrustManager; import org.jsoup.Connection; import org.jsoup.helper.HttpConnection; public class HTTPCommonUtil { public static void trustEveryone() { try { HttpsURLConnection.setDefaultHostnameVerifier(new HostnameVerifier() { public boolean verify(String hostname, SSLSession session) { return true; } }); SSLContext context = SSLContext.getInstance("TLS"); context.init(null, new X509TrustManager[] { new X509TrustManager() { public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException { } public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException { } public X509Certificate[] getAcceptedIssuers() { return new X509Certificate[0]; } } }, new SecureRandom()); HttpsURLConnection.setDefaultSSLSocketFactory(context.getSocketFactory()); } catch (Exception e) { // e.printStackTrace(); } } public static Object getHttpHeaders(URL url, int timeout) { try { trustEveryone(); Connection conn = HttpConnection.connect(url); conn.timeout(timeout); conn.header("Accept-Encoding", "gzip,deflate,sdch"); conn.header("Connection", "close"); conn.get(); Map<String, String> result = conn.response().headers(); result.put("title", conn.response().parse().title()); return result; } catch (Exception e) { //e.printStackTrace(); } return null; } public static void main(String[] args) { try { URL url = new URL("https", "202.133.116.70", -1, ""); System.out.println(getHttpHeaders(url, 10000)); } catch (MalformedURLException e) { e.printStackTrace(); } } }
相关推荐
总之,使用JSoup实现新闻正文抽取是一个涉及到HTML解析、元素定位、内容提取以及可能的数据持久化的过程。通过熟练掌握JSoup的API,我们可以构建出高效、灵活的新闻爬虫系统,服务于数据分析、信息监控等多种应用...
通过以上步骤,我们就能确保`contentData`包含了正确编码的网页内容,从而在使用`jsoup`解析时避免乱码问题。当然,这只是一个通用的解决方案,实际情况可能更为复杂。如果页面编码不固定,可能需要更复杂的逻辑来...
2. 解析HTML内容,提取JSON或XML数据的链接,这一步可能用到了Jsoup库,这是一个Java的HTML解析库,可以方便地解析和操作HTML文档。 3. 通过链接获取JSON或XML数据,并使用JSON或XML解析库进行解析。 4. 可能涉及到...
在本项目中,开发者使用了jsoup框架来处理Android应用中的网站交互,涉及的主要知识点包括JSON数据解析、XML处理、Web服务(Webservice)通信以及UPnP(通用即插即用)技术。以下是对这些技术的详细介绍: 1. **...
在实际开发中,将Jsoup解析HTML的功能抽象成通用工具类是常见的做法。通过传递不同的URL参数,可以灵活地获取不同的页面内容。例如,在电商平台中,商品详情页的URL通常包含了商品的唯一标识(如商品ID),通过改变...
总的来说,这个项目涵盖了网络爬虫的基本流程:从目标网页获取HTML,使用Jsoup解析并提取图片URL,将URL存入数据库,然后下载图片到本地。整个过程涉及到了HTTP请求、HTML解析、数据库操作以及文件I/O等多个Java编程...
接着,使用HTML解析器如Jsoup,解析获取的HTML文档,提取出所需的信息,如链接、文本内容等。 聚焦爬虫的关键在于网页的选择策略。常见的策略包括基于关键词的匹配、URL模式匹配、TF-IDF算法、PageRank等。在1.5...
在Java中,可以使用Jsoup、HttpClient等库来帮助发送HTTP请求,并解析返回的HTML内容。 在抓取网页的过程中,我们可能会遇到各种HTTP状态码,它们表示服务器对请求的响应结果。例如,状态码200表示请求成功,而404...
1. **网络请求**:JSpider使用HTTP客户端库(如Apache HttpClient)发起网络请求,获取网页内容。这涉及到HTTP协议的理解,如GET、POST请求,以及Cookie、Session管理。 2. **HTML解析**:为了提取网页中的有用信息...
在WebMagic中,HttpClient用于发送HTTP请求,获取网页内容,支持HTTPS、代理、重试等高级特性。 3. **assertj-core-1.5.0.jar**:AssertJ提供了一套丰富的断言方法,用于编写更清晰、更富表达力的测试代码。在...
在.NET环境中,此类程序通常使用C#或VB.NET等编程语言编写,利用HTTP协议与目标网站交互,结合HTML解析技术(如HtmlAgilityPack或Jsoup)来提取所需信息。 首先,我们来深入了解Web采集程序的工作原理。Web采集的...
例如,我们可以用Jsoup解析HTML源码,找出所有章节链接,然后逐个下载对应的漫画图片。 3. **多线程**:为了提高爬虫的效率,通常会采用多线程或者异步处理的方式。Java提供了并发库,如ExecutorService和Future,...
1. **网络请求库**:如Apache HttpClient或OkHttp,它们提供了发送HTTP请求、设置请求头、处理响应等功能,是爬虫获取网页内容的基础。 2. **HTML解析**:如Jsoup库,它能够解析HTML文档,提取所需信息,如链接、...
在Java中,可以使用Collections.sort()方法,结合自定义的Comparator来实现价格的比较和排序。 6. **文件组织**: 压缩包中的"com"文件可能包含了项目的源代码组织结构,通常在Java项目中,"com"是顶级包名,下面...
4. **HTML和XML解析**:在Android应用中,可能需要处理来自服务器的HTML或XML数据,例如获取网页内容、解析RSS feed等。对于HTML,可以使用`Jsoup`库进行解析,它提供了强大的选择器和DOM操作。对于XML,Android提供...
总结来说,实现一个Java Web网络爬虫,通常会用到如Servlet API、HttpClient、Jsoup、Json库、XPath解析库、通用工具库以及日志框架等jar包。这些库共同构成了网络爬虫的基本架构,帮助开发者高效、稳定地完成数据...
这通常涉及到解析HTML或JSON响应,使用如Jsoup或Jackson等库进行解析。抓取的信息可能包括职位信息、公司简介等。 4. **字符编码**:由于中文字符的处理,数据库需要配置为GBK或UTF-8编码。GBK是中国大陆广泛使用的...
JSEditor 是 Eclipse 下编辑 JavaScript 源码的插件,提供语法高亮以及一些通用的面向对象方法。 Java数据库连接池 BoneCP BoneCP 是一个高性能的开源java数据库连接池实现库。它的设计初衷就是为了提高数据库连接...