这个东西虽然简单,但还是挺好玩的:首先把搜索后的页面用流读取出来,再写个正则,去除不要的内容,再把最后的结果存成xml格式文件、或者直接存入数据库,用的时候再调用
本代码只是显示html也的源码内容,如果需要抽取内容请自行改写public static String regex()中的正则式
package rssTest;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* @author Der
* @date 05-01
* @E-mail uidin@163.com
* */
public class MyRSS
{
/**
* 获取搜索结果的html源码
* */
public static String getHtmlSource(String url)
{
StringBuffer codeBuffer = null;
BufferedReader in=null;
try
{
URLConnection uc = new URL(url).openConnection();
/**
* 为了限制客户端不通过网页直接读取网页内容,就限制只能从浏览器提交请求.
* 但是我们可以通过修改http头的User-Agent来伪装,这个代码就是这个作用
*
*/
uc.setRequestProperty("User-Agent",
"Mozilla/4.0 (compatible; MSIE 5.0; Windows XP; DigExt)");
// 读取url流内容
in = new BufferedReader(new InputStreamReader(uc
.getInputStream(), "gb2312"));
codeBuffer = new StringBuffer();
String tempCode = "";
// 把buffer内的值读取出来,保存到code中
while ((tempCode = in.readLine()) != null)
{
codeBuffer.append(tempCode).append("\n");
}
in.close();
}
catch (MalformedURLException e)
{
e.printStackTrace();
}
catch (IOException e)
{
e.printStackTrace();
}
return codeBuffer.toString();
}
/**
* 正则表达式
* */
public static String regex()
{
String googleRegex = "<div class=g>(.*?)href=\"(.*?)\"(.*?)\">(.*?)</a>(.*?)<div class=std>(.*?)<br>";
return googleRegex;
}
/**
* 测试用
* 在google中检索关键字,并抽取自己想要的内容
*
* */
public static List<String> GetNews()
{
List<String> newsList = new ArrayList<String>();
String allHtmlSource = MyRSS
.getHtmlSource("http://www.google.cn/search?complete=1&hl=zh-CN&newwindow=1&client=aff-os-maxthon&hs=SUZ&q=%E8%A7%81%E9%BE%99%E5%8D%B8%E7%94%B2&meta=&aq=f");
Pattern pattern = Pattern.compile(regex());
Matcher matcher = pattern.matcher(allHtmlSource);
while (matcher.find())
{
String urlLink = matcher.group(2);
String title = matcher.group(4);
title = title.replaceAll("<font color=CC0033>", "");
title = title.replaceAll("</font>", "");
title = title.replaceAll("<b>...</b>", "");
String content = matcher.group(6);
content = content.replaceAll("<font color=CC0033>", "");
content = content.replaceAll("</font>", "");
content = content.replaceAll("<b>...</b>", "");
newsList.add(urlLink);
newsList.add(title);
newsList.add(content);
}
return newsList;
}
/**
* main方法
* */
public static void main(String[] args)
{
System.out
.println(MyRSS
.getHtmlSource("http://main.house.sina.com.cn/news/zckb/index.html"));
}
}
分享到:
相关推荐
在提供的压缩包中,"抓取新闻.jar"文件很可能是一个包含了网络爬虫代码的可执行文件。为了运行这个程序,你需要将它添加到你的系统环境变量中,这样你可以在命令行直接启动它。如果遇到批处理文件的问题,可能是因为...
【Java新闻抓取】是一种利用编程技术从网络上自动收集并处理特定信息的过程,这里主要关注的是使用Java语言来实现对腾讯IT业界滚动新闻的抓取。在IT领域,新闻抓取是数据挖掘的重要组成部分,它能帮助我们获取实时、...
总结,"java 新浪网易搜狐新闻抓取源码"项目展示了如何使用Java和HTMLParser库来实现新闻数据的抓取和处理。通过学习和实践这样的项目,开发者不仅可以掌握网页抓取的基本技能,还能深入理解HTTP协议、HTML解析以及...
java根据自定义json格式规则抓取新浪新闻、百度新闻、微博动态内容的网络爬虫源码 例子中的源码功能: 导入Hbase的jar包即可直接返回Put对象数据、可以返回map对象数据、支持自定义json格式抓取指定网页的内容、抓取...
- **getNewList() 方法**:负责抓取新闻列表。 - **getNewInfo(String url) 方法**:根据传入的新闻详情页 URL 抓取具体的新闻内容。 ### 2. 使用 URL 和 URLConnection 进行网络请求 为了获取网页内容,程序使用...
在这个“java爬虫抓取新闻.zip”压缩包中,包含了一个名为“爬虫”的可能为源代码的文件以及一个“1.accdb”数据库文件,这可能是用来存储爬取到的新闻数据。 首先,让我们详细了解一下Java爬虫的基本概念。Java...
Java网页抓取数据是互联网开发中的一个重要技能,它允许开发者从网页中提取所需的信息,如新闻、产品数据或用户评论,以供进一步分析或利用。本主题主要涵盖以下几个关键知识点: 1. **网络请求库**:在Java中,...
数据采集负责从各种新闻源抓取信息;数据处理涉及清洗、去重和存储,可能需要用到Java的Hadoop或Spark等大数据处理框架;推荐算法模块是核心,通过Java实现各种推荐策略;用户界面则需用JavaFX或Swing等工具提供友好...
### Java抓取网站数据知识点详解 #### 一、概述 在现代互联网开发中,抓取网站数据是一项重要的技能。无论是进行市场调研、竞品分析还是数据挖掘,掌握如何使用Java来抓取数据都是极其有用的。本文将以抓取“51job...
在IT行业中,数据抓取是一项重要的技能,尤其在财经领域,实时、全面的财经新闻数据对于分析市场趋势、制定投资策略具有重大价值。本话题将详细介绍如何使用WebCollector这一工具来抓取财经新闻。 WebCollector是一...
在IT行业中,"计划任务实时抓取新闻"是一个常见的需求,尤其对于数据分析、信息监控或者新闻聚合类应用来说,这是非常关键的技术环节。下面将详细解释这个过程涉及的知识点。 首先,我们需要理解“计划任务”...
在本项目中,标题"java做的抓取sohu所有的新闻"揭示了主要的技术焦点是使用Java编程语言来实现网络爬虫,目标是抓取搜狐网站上的所有新闻信息。网络爬虫,也称为网页抓取器,是一种自动化程序,用于浏览互联网并收集...
在IT行业中,数据抓取是一项基础且重要的技能,特别是在新闻分析、舆情监控等领域。本案例主要涉及的是如何抓取新浪新闻网站的文章,这通常需要利用网络爬虫技术。新浪新闻作为一个大型的新闻发布平台,提供了丰富的...
本项目"Java实现网路爬虫爬取新闻信息"是利用Java编程语言来构建一个能够从指定网站抓取新闻内容的爬虫。在这个过程中,我们不仅需要掌握Java基础,还需要理解网络请求、HTML解析、正则表达式以及数据库操作等技术。...
爬虫通常由搜索引擎、数据挖掘工具、监测系统等应用于网络数据抓取的场景。 爬虫的工作流程包括以下几个关键步骤: URL收集: 爬虫从一个或多个初始URL开始,递归或迭代地发现新的URL,构建一个URL队列。这些URL...
Java中的Jsoup、WebMagic等库可以帮助抓取网页内容。爬虫首先定位到新闻网站,然后解析HTML结构,提取新闻标题、内容、发布时间等信息,最后将这些信息存储到数据库中供推荐系统使用。 总的架构分为四个主要部分:...
这个案例采用的是Java语言,说明了在信息技术领域,如何利用编程手段抓取网络上的动态信息,尤其是新闻类数据。 描述中提到的“java例子 实测 可运行”,表明这是一个实际可用的Java代码示例,已经过测试并能够成功...
在本项目中,“基于http的Java爬虫爬取百度新闻”是一个实例,它利用Java编程语言,通过HTTP协议来抓取百度新闻网站上的数据。这个项目的核心知识点包括HTTP协议的理解、Java编程基础、网络爬虫的实现以及对百度新闻...
本项目名为“获取新闻Java程序”,其主要目标是利用Java技术来抓取并处理实时的新闻数据,包括新闻标题、链接以及其他相关信息,以便用户能够方便地查看和交互这些动态新闻信息。 在实现这个功能时,Java程序员通常...