本文目录一览:
- 1、怎么用java写网络爬虫将网页中的指定数据下载到本地excel文档中
- 2、java jsoup怎样爬取特定网页内的数据
- 3、如何通过Java代码实现对网页数据进行指定抓取
- 4、java爬虫抓取指定数据
- 5、如何用java语言直接从web上下载数据,从而省去在网页上手动点击下载?
怎么用java写网络爬虫将网页中的指定数据下载到本地excel文档中
mport java.io.InputStream;
import java.net.*;
public class HelloHttp {
}
接著就可以仿照下列范例建立HTTP连线:
URL url = new URL("");
HttpURLConnection http = (HttpURLConnection) url.openConnection();
http.setRequestMethod("POST");
InputStream input = http.getInputStream();
http.disconnect();
第1行建立一个URL物件,带入参数为想要建立HTTP连线的目的地,例如网站的网址。
第2行建立一个HttpURLConnection物件,并利用URL的openConnection()来建立连线。
第3行利用setRequestMethod()来设定连线的方式,一般分为POST及GET两种。
第4行将连线取得的回应载入到一个InputStream中,然後就可以将InputStream的内容取出应用,以这个例子而言我们取得的会是网页的原始码。
第5行用disconnect()将连线关闭。
将InputStream内容取出应用的范例如下:
byte[] data = new byte[1024];
int idx = input.read(data);
String str = new String(data, 0, idx);
System.out.println(str);
input.close();
针对 str 作 regular expression 处理 , 依照需求取得内容。
java jsoup怎样爬取特定网页内的数据
1、Jsoup简述
Java中支持的爬虫框架有很多,比如WebMagic、Spider、Jsoup等。
Jsoup拥有十分方便的api来处理html文档,比如参考了DOM对象的文档遍历方法,参考了CSS选择器的用法等等,因此我们可以使用Jsoup快速地掌握爬取页面数据的技巧。
2、快速开始
1)分析HTML页面,明确哪些数据是需要抓取的
2)使用HttpClient读取HTML页面
HttpClient是一个处理Http协议数据的工具,使用它可以将HTML页面作为输入流读进java程序中.
3)使用Jsoup解析html字符串
通过引入Jsoup工具,直接调用parse方法来解析一个描述html页面内容的字符串来获得一个Document对象。该Document对象以操作DOM树的方式来获得html页面上指定的内容。
3、保存爬取的页面数据
1)保存普通数据到数据库中
将爬取的数据封装进实体Bean中,并存到数据库内。
2)保存图片到服务器上
直接通过下载图片的方式将图片保存到服务器本地。
如何通过Java代码实现对网页数据进行指定抓取
通过Java代码实现对网页数据进行指定抓取方法思路如下:
在工程中导入Jsoup.jar包
获取网址url指定HTML或者文档指定的body
获取网页中超链接的标题和链接
获取指定博客文章的内容
获取网页中超链接的标题和链接的结果
java爬虫抓取指定数据
根据java网络编程相关的内容,使用jdk提供的相关类可以得到url对应网页的html页面代码。
针对得到的html代码,通过使用正则表达式即可得到我们想要的内容。
比如,我们如果想得到一个网页上所有包括“java”关键字的文本内容,就可以逐行对网页代码进行正则表达式的匹配。最后达到去除html标签和不相关的内容,只得到包括“java”这个关键字的内容的效果。
从网页上爬取图片的流程和爬取内容的流程基本相同,但是爬取图片的步骤会多一步。
需要先用img标签的正则表达式匹配获取到img标签,再用src属性的正则表达式获取这个img标签中的src属性的图片url,然后再通过缓冲输入流对象读取到这个图片url的图片信息,配合文件输出流将读到的图片信息写入到本地即可。
如何用java语言直接从web上下载数据,从而省去在网页上手动点击下载?
URL url = new URL("");
URLConnection uc = url.openConnection();
InputStreamReader is = new InputStreamReader(uc.getInputStream());
int line;
StringBuffer sb = new StringBuffer("");
while((line=is.read())!=-1){
sb.append((char)line);
}
String str = sb.toString();
//解析其中的内容
//可以通过 找到有用的地址文件,然后利用如下
url = new URL(“有用的文件路径”);
BufferedInputStream in = new BufferedInputStream(url.openStream());
哈哈,得到它了,一切就ok啦
下面的会了吗,流操作,写到本地