1.下载Jsoup核心库
地址: http://jsoup.org/download
2.使用
/**
* 获取Document对象
* @param sourceUrl 连接地址
* @return doc Document对象
* @author chitianxiang $Feb 6th, 2012
*/
static private Document getDocment(String sourceUrl) throws IOException {
Connection conn = Jsoup.connect(sourceUrl);
/*
* 500错误
* 对方知道你是爬虫,直接给你拒绝访问,
* header中要加入相关信息,稍微伪装下
*/
conn.header("User-Agent", "Mozilla/5.0 (Macintosh; "
+ "U; Intel Mac OS X 10.4; en-US; "
+ "rv:1.9.2.2) Gecko/20100316 Firefox/3.6.2");
return conn.timeout(MAX_CONNECT_TIME).get();
}
private static final int JSOUP_TIMEOUT_MAX_VAL = 10000; //Jsoup抓取时最长响应时间
private static Map<String, String[]> data; //数据源
private static final String SINA = "新浪";
private static final String IFENG = "凤凰网";
/**
* 初始化加载数据源
* @author chitianxiang 2011/11/3
*/
public static void init() throws Exception{
System.out.println("开始加载数据源...");
if (null != data && !data.isEmpty()) {
return;
}
data = new HashMap<String, String[]>();
data.put("焦点新闻1", new String[]{SINA, "http://rss.sina.com.cn/news/china/politics15.xml"});
data.put("焦点新闻2", new String[]{IFENG, "http://news.ifeng.com/mainland/"});
}
/**
* 获取对应的数据源信息
* @param intactTypeName 完整类型名称
* @author chitianxiang 2011/11/3
*/
public static List<String[]> getDataLst(String intactTypeName)
throws Exception{
List<String[]> list = new ArrayList<String[]>();
if (null == data) {
init();
}
for (String str : data.keySet()) {
if ((str.indexOf(intactTypeName) != -1)
&& (null != data.get(str))) {
list.add(data.get(str));
}
}
return list;
}
/**
* 抓取列表数据
* @param sourceName 网站名称
* @param sourceUrl 网址
* @param map 集合
* @author chitianxiang 2011/11/3
*/
public static void doGrab2Lst(String sourceName, String sourceUrl, Map map) throws Exception{
if (SINA.equals(sourceName)) {
grabLstBySina(sourceName, sourceUrl, map);
} else if (IFENG.equals(sourceName)) {
grabLstByIfeng(sourceName. sourceUrl, map);
}
}
/**
* 抓取新浪阅读列表数据
* @param sourceName 网站名称
* @param sourceUrl 网址
* @param map 集合
* @author chitianxiang 2011/11/5
*/
private static void grabLstBySina(String sourceName, String sourceUrl, Map map)
throws Exception{
try {
Document doc = getDocument(sourceUrl);
Elements elements = doc.select("item");
for (Element element : elements) {
String title = element.select("title").text(); //标题
String content = element.select("description").text(); //显示内容
if ("".equals(showContent)) {
continue;
}
String outUrl= element.select("guid").text(); //外链URl
}
} catch (Exception e) {
System.out.println("抓取" + sourceName + "失败!!!");
}
}
分享到:
相关推荐
4. **结合HttpClient和Jsoup抓取网页数据**: - 使用HttpClient发送HTTP请求,获取网页的HTML内容。 - 将HttpClient获取的HTML内容传递给Jsoup的parse方法,得到Document对象。 - 利用Jsoup的CSS选择器和数据提取...
**Jsoup:网页抓取与解析利器** Jsoup是一个用于处理实际世界HTML的Java库。它提供了非常方便的API,用于提取和操作数据,使用DOM,CSS和微选择器。在本篇中,我们将深入探讨如何使用Jsoup来抓取整个网站,并将其...
在这个"Jsoup抓取一个完整的网站.rar"压缩包中,你将找到一个示例项目,教你如何使用Jsoup配合Java来抓取一个网站的所有资源,包括图片、CSS样式表和JavaScript文件,并在本地按照原始网站的目录结构进行保存。...
很实用的jsoup抓取网页教程,通过查看此文档,您可以解决你在抓取网页过程中出现的问题
在"Java使用Jsoup抓取网页关键信息"这部分,我们需要了解以下几个知识点: 1. **Jsoup连接与解析网页**:使用Jsoup的`connect()`方法建立HTTP连接,然后通过`get()`或`post()`发送请求获取网页内容。获取到的HTML...
以下是关于如何使用Java+Jsoup抓取网页数据的详细讲解。 首先,你需要了解HTML的基础结构,因为Jsoup的工作原理是解析HTML文档并提供类似于DOM的API来操作这些文档。HTML是由标签组成的树形结构,每个标签都有属性...
**Jsoup:网页数据抓取与JSON转换** ...本教程将深入探讨如何...通过以上步骤,你已经掌握了使用Jsoup抓取网页数据并转化为JSON格式的基本方法。在实际应用中,可以根据需求进行定制和扩展,以满足各种复杂场景的需求。
这是一个使用jsoup抓取网页内容的例子,适合从事手机开发的初学者学习
本项目"安卓listview相关-实现浏览新浪新闻jsoup抓取网页信息listview列表下拉刷新.rar"旨在演示如何结合Jsoup库从新浪新闻网站抓取信息,并通过ListView展示这些信息,同时实现下拉刷新功能,提升用户体验。...
同时,对于动态加载的内容,可能需要利用Selenium等工具先触发页面的JavaScript执行,然后再用Jsoup抓取。 在提供的"coolook_self"压缩包文件中,可能包含了一个自定义的Jsoup抓取示例。这可能是一个Java项目,其中...
本项目将讲解如何使用Jsoup来抓取网页的关键信息,并将其存储到数据库中,同时实现通过IP地址查询天气并以邮件形式发送。 首先,Jsoup提供了简洁的API,使得解析HTML变得易如反掌。我们可以利用Jsoup的`connect()`...
本项目是一个基于安卓的简单利用jsoup爬取学校内网数据的教务系统app,设计的部分有:个人信息、课程表、考试时间、考勤信息、成绩查询、奖惩情况、开设课程、晚归违规等部分。主要思路就是利用jsoup爬数据把数据转化...
本教程将详细介绍如何结合使用HttpClient与Jsoup来抓取和处理网页数据。 HttpClient是Apache基金会开发的一个开放源代码库,它允许开发者发送HTTP请求并接收响应,支持多种HTTP协议版本。HttpClient提供了丰富的...
前两天因为一个业务需求,需要从某网站爬取某个关键字搜索结果的所有文章,于是加班做了一个基于jsoup的爬虫程序,可以将特定关键字的搜索结果里所有的文章爬取到,并以文件的形式保存到本地,支持分页爬取。...
NULL 博文链接:https://luan.iteye.com/blog/1722530
例如,新闻聚合应用可能会使用jsoup抓取多个网站的新闻标题,社交媒体分析工具可能利用它提取用户评论,而开发者则可能用它来测试网页的HTML结构是否符合预期。 总的来说,jsoup1.8.1是一个强大的HTML解析和数据...
Android App使用Jsoup抓取网页数据显示-附件资源
此外,项目中可能还包含了`jsoupDemo.docx`文件,这可能是一个详细的文档,包含了更多关于如何使用jsoup和多线程抓取新闻的步骤和示例代码。而`jsoup-1.10.2.jar`是jsoup库的版本,确保将其添加到项目的类路径中,...