pom.xml文件添加下面的内容
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>webContent</groupId>
<artifactId>com.xly.webContent</artifactId>
<version>0.0.1-SNAPSHOT</version>
<repositories>
<repository>
<id>com.springsource.repository.bundles.release</id>
<name>EBR Spring Release Repository</name>
<url>http:// repository.springsource.com/maven/bundles/release</url>
</repository>
<repository>
<id>com.springsource.repository.bundles.external</id>
<name>EBR External Release Repository</name>
<url>http:// repository.springsource.com/maven/bundles/external</url>
</repository>
</repositories>
<properties>
<org.springframework.version>3.0.5.RELEASE</org.springframework.version>
</properties>
<dependencies>
<dependency>
<!-- jsoup HTML parser library @ http://jsoup.org/ -->
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>1.5.2</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${org.springframework.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.6.1</version>
</dependency>
</dependencies>
</project>
处理逻辑
package com.xly.jsoup;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Attributes;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.xly.jsoup.bean.WebInfoBean;
/**
*
*
* @author Kaikai
* @version $Id: WebContentMain.java, v 0.1 2014-10-26 上午9:49:32 Kaikai Exp $
*/
public class WebContentMain {
public static final String BASE_URL="";
public static final Logger log = LoggerFactory.getLogger(WebContentMain.class);
static String base_url = "http://finance.sina.com.cn/";
static String base_info_url="http://vip.stock.finance.sina.com.cn/corp/go.php/vCB_AllNewsStock/symbol/";//sh600158.phtml
static String sub_div_name="artibody";
/**
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception {
getDatelistBean(base_info_url+"sh600158.phtml","datelist");
}
/**
* 从doc中获取<div class="datelist">
* 对html的处理逻辑匹配新浪财经的url结构
* @param doc
*/
private static void getDatelistBean(String url,String divname) throws IOException
{
Document doc = Jsoup.connect(url).get();
Elements el = doc.select("div[class="+divname+"]");
Elements urls = el.select("a[href]");
List<WebInfoBean> list = new ArrayList<WebInfoBean>();
for(Element e:urls){
WebInfoBean bean = new WebInfoBean();
Attributes attr= e.attributes();
bean.setUrl(attr.get("href"));
bean.setBaseUrl(e.baseUri());
bean.setTitle(e.childNode(0).toString());
try {
String[] tmp = bean.getUrl().split("/");
int lenght = tmp.length;
if(lenght>4)bean.setTime(tmp[lenght-2]+tmp[lenght-1].substring(0,4));
} catch (Exception e1) {
System.out.println(bean.getUrl());
}
bean.setContent(extContent(bean.getUrl(),sub_div_name));
list.add(bean);
}
save(list);
}
/**
* 解析内容
*
* @param url
* @param divname
* @return
* @throws IOException
*/
private static String extContent(String url,String divname) throws IOException{
Document doc = Jsoup.connect(url).get();
Elements el = doc.select("div[id="+divname+"]");
Elements ps = el.select("p");
String infoStr = "";
for(Element e:ps){
infoStr=infoStr+e.text()
// +"\n"
;
}
return infoStr;
}
private static void save(List<WebInfoBean> list){
for(WebInfoBean bean:list){
System.out.println(bean.toString());
}
}
}
bean
public class WebInfoBean {
private String id;
private String title;
private String index;
private String time;
private String content;
private String baseUrl;
private String url;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getIndex() {
return index;
}
public void setIndex(String index) {
this.index = index;
}
public String getTime() {
return time;
}
public void setTime(String time) {
this.time = time;
}
public String getBaseUrl() {
return baseUrl;
}
public void setBaseUrl(String baseUrl) {
this.baseUrl = baseUrl;
}
@Override
public String toString() {
return "WebInfoBean [id=" + id + ", title=" + title + ", index=" + index + ", time=" + time
+ ", content=" + content + ", baseUrl=" + baseUrl + ", url=" + url + "]";
}
}
分享到:
相关推荐
**jsoup爬虫demo** Java中的jsoup库是一款强大的HTML解析和抓取工具,它使得在Java中处理网页内容变得简单。本示例将详细解释如何利用jsoup进行网页爬虫开发,并通过输出流将抓取的数据写入本地文件。 首先,你...
**基于jsoup的SpringBoot爬虫demo** 在现代互联网环境中,数据抓取是获取大量信息的重要手段,而SpringBoot作为Java领域广泛使用的轻量级框架,结合jsoup库,可以构建高效、灵活的网络爬虫应用。这个"基于jsoup的...
java爬虫,代码写的有点丑,反正是能用。 今天给大家分享一个多线程的知识点,和线程池,最近任务是写爬虫,五百个网址,循环很慢,然后考虑用多线程,今天看了一下多线程,氛围继承thread 和实现runnuble接口,...
在“jsoup-demo”这个项目中,我们可以看到如何在Java中有效地运用JSoup进行网络爬虫开发。 **一、JSoup的基本使用** JSoup的核心功能包括连接到网站、解析HTML文档、查询和提取数据。以下是一些基本操作: 1. **...
在本示例中,"java网络爬虫demo" 是一个使用IntelliJ IDEA 14.0.3开发的项目,它展示了如何利用Java来构建一个简单的网络爬虫。下面将详细讨论网络爬虫的基本概念、Java网络爬虫的实现原理以及可能涉及的技术点。 1...
在"java爬虫Demo"中,可能就是利用Jsoup来解析网页并获取链接。 2. HtmlUnit:这是一个无头浏览器,能够模拟真实用户的网页浏览行为,支持JavaScript执行。对于需要登录或动态加载内容的网站,HtmlUnit可以更好地...
在这个"java网页爬虫demo"中,我们重点关注的是使用Java语言实现的一个完整示例。主类是"SpiderWidth.java",这表明该程序的核心逻辑在其中。 首先,我们要理解Java爬虫的基本构成。一个简单的Java爬虫通常包括以下...
最后,将Jsoup爬虫和Excel写入结合在一起: ```java public class Main { public static void main(String[] args) throws Exception { List<LinkData> dataList = new ArrayList(); Document doc = Jsoup....
5. **爬虫框架**:除了自己编写爬虫逻辑,还可以利用已有的爬虫框架,如WebMagic、Jsoup-Crawler等,它们提供了更便捷的API来构建和管理爬虫项目。 6. **反爬虫策略**:许多网站有反爬虫机制,如验证码、动态加载...
在这个项目中,我们使用了`网络爬虫Demo`作为主要代码载体,它可能包含了爬虫的核心模块,如URL管理器、下载器和解析器,用于获取和处理网页内容。 Spring框架是Java开发中的基石,它提供了一个全面的编程和配置...
下面是一个简单的多线程jsoup爬虫框架示例: ```java import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import java.util.ArrayList; import java.util.List; import java.util.concurrent....
Java爬虫Demo是一种实现网络爬虫的技术实例,它利用Java编程语言来抓取并处理互联网上的数据。网络爬虫,也称为网页蜘蛛或网络机器人,是自动浏览互联网、收集信息的一种程序。它按照一定的规则(如HTML链接)遍历...
本教程以"java实现简单的爬虫小Demo"为主题,通过Java语言来实现一个基础的网络爬虫,目标是抓取智联招聘网站上的工作数据。下面我们将深入探讨相关知识点。 首先,Java作为一种跨平台的编程语言,其丰富的库支持...
在Java爬虫Demo中,Jsoup可能是主要的数据解析工具。 2. **HTTP请求与响应**:爬虫需要模拟浏览器发送HTTP请求到目标网站,获取响应的HTML内容。Java的HttpURLConnection或者Apache HttpClient库可以用来实现这一...
本Java爬虫Demo提供了基础的爬虫功能,便于开发者快速集成到自己的项目中,实现高效、便捷的网页抓取。 一、Java爬虫基础 1. **网络请求库**:Java爬虫首先需要能够发送HTTP请求,获取网页源代码。常用的库有...
总之,Jsoup为Java开发者提供了强大而易用的工具,用于处理HTML,无论是在爬虫项目、数据提取,还是简单的网页解析任务中,都是不可或缺的利器。通过学习和使用JsoupDemo for Java,你可以更好地理解和掌握这些功能...
本篇将详细介绍如何利用Java构建一个基础的网络爬虫Demo。 首先,我们要了解HTTP协议。HTTP(超文本传输协议)是互联网上应用最广泛的一种网络协议,用于从万维网服务器传输超文本到本地浏览器。在Java中,我们可以...
本项目为java开发集成jsoup插件开发的爬虫demo。以爬取H3C ERG2-450W 路由器管理页面流量信息为示例。包括爬取:登录,获取流量数据,注销其他用户,推出用户功能的实现。有需要的伙伴可以用java+jsoup开发更复杂...
本文将深入探讨如何使用Jsoup库构建一个简单的爬虫程序,以爬取寻医问药网站的医疗数据。Jsoup是一个Java库,它提供了强大的功能,可以方便地处理HTML文档,包括解析、查找和修改。通过使用Jsoup,我们可以发起HTTP...