求教一下~ java实现对 百度百科中 文字 的获取~
谁能给个源码 借鉴一下~初接触JAVA~~
谢谢了~~
只要百度百科的文字,其他的不需要~ --------------------编程问答-------------------- 都大概用什么方法实现? 能不能给点提示呢? --------------------编程问答-------------------- 能举个例子是怎么个过程吗?你想实现什么啊?
--------------------编程问答-------------------- 就是 给一个百度百科词条的网址。然后能抓取该词条里的文字内容。控制台输出就行,不要求界面~ --------------------编程问答-------------------- htmlparser --------------------编程问答-------------------- 或者httpClient --------------------编程问答-------------------- 写了一个非常基本的例子。
稍微跟你的需求有点不一样。
这个是,根据URL地址。获取这个网页的内容,然后存到一个文件里面。
希望对你有帮助
--------------------编程问答-------------------- 谢谢~ 就是 有没有什么办法 把其中的文字提取出来,输出或者保存到一个TXT文件中呢。 --------------------编程问答-------------------- 谢谢~ 就是 有没有什么办法 把其中的文字提取出来,输出或者保存到一个TXT文件中呢。 --------------------编程问答--------------------
package com.jiakai.web;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.MalformedURLException;
import java.net.URL;
public class Spider {
public void getContentByURL(String url,String fileName) {
File file = new File(fileName);
InputStream is = null;
FileOutputStream fos = null;
try {
URL u = new URL(url);
is = u.openStream();
fos = new FileOutputStream(fileName);
byte[] b = new byte[1024];
int len = 0;
while ( (len = is.read(b)) != -1) {
fos.write(b, 0, len);
}
System.out.println("抓取成功");
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
fos.close();
is.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
public static void main(String[] args) {
String url = new String("http://baike.baidu.com/view/143057.htm");
String fileName = new String("c:\\baike.html");
Spider spider = new Spider();
spider.getContentByURL(url, fileName);
}
}
Parser parser = new Parser("http://baike.baidu.com/view/2476238.htm");
NodeList nodes = parser.parse(new NodeClassFilter(Div.class));
for(org.htmlparser.Node n:nodes.toNodeArray())
{
if(n.getText().equals("div class=\"spctrl\""))
{
System.out.println(n.getNextSibling().getText());
}
}
结果:
(1)实现了所有 HTTP 的方法(GET,POST,PUT,HEAD 等)
(2)支持自动转向
(3)支持 HTTPS 协议
(4)支持代理服务器等
1. 创建 HttpClient 的实例
2. 创建某种连接方法的实例,在这里是 GetMethod。在 GetMethod 的构造函数中传入待连接的地址
3. 调用第一步中创建好的实例的 execute 方法来执行第二步中创建好的 method 实例
4. 读 response
5. 释放连接。无论执行方法是否成功,都必须释放连接
6. 对得到后的内容进行处理
根据以上步骤,我们来编写用GET方法来取得某网页内容的代码。
大部分情况下 HttpClient 默认的构造函数已经足够使用。 HttpClient httpClient = new HttpClient();
. . .
你自己去下htmlparser的包
--------------------编程问答--------------------
如果采用我这种方法的话,那么就需要写正则表达式。
把不是文字的内容过滤掉。 --------------------编程问答-------------------- 因为很多人写页面标签非常不标准。
这个正则,我是不会写。 --------------------编程问答-------------------- 信息采集或者叫网络爬虫 ,用HttpClient+Httpparser可以针对你给定的原则去获取相应的内容
具体用法详情见官方API --------------------编程问答-------------------- 那个.. 能问一个比较弱智的问题么 .. httpclient这个包怎么加到Ecliplse里... 弄了半天没弄好 --------------------编程问答--------------------
public class First(){
public static void main(String []agrs){
System.out.println("hello world");
}
}
--------------------编程问答-------------------- 路过接分 --------------------编程问答-------------------- 爬虫啊你看看开源的有java的没 --------------------编程问答-------------------- 刚学java就学数据抓取吗,我不会,但我支持你 --------------------编程问答-------------------- 右击你的项目->build path->configure build path->add external jars->选中包-》OK --------------------编程问答-------------------- 脚踏实地吧 兄弟 --------------------编程问答--------------------
补充:Java , Java SE