JAVA 利用Jsoup 在网络获取数据
2017-02-10 00:51
513 查看
利用Jsoup可以更容易更快的获取数据
下面我演示几个事例:
一:在电影天堂获取一个电影的下载地址
用一行代码实现上面功能
二:读取电影天堂某个页面里所有电影的下载地址
http://www.dytt8. a5cb
net/html/gndy/dyzz/index.html
三、获取一个页面里的分页栏
http://www.dytt8.net/html/gndy/dyzz/index.html
下面我演示几个事例:
一:在电影天堂获取一个电影的下载地址
package com.mashensoft.jsoup; import java.io.IOException; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; import org.jsoup.select.Elements; /** * 在电影天堂获取一个电影的下载地址 * @author PeicongHe *http://www.dytt8.net/html/gndy/dyzz/20170129/53098.html *步骤: * 获取网页文本 * 通过匹配属性价值获取元素 * 获取属性 * 这里只能获取一个下载地址,如果想获取多个下载地址,就要用到循环 */ public class ShowTest { public static void test1() { Document doc; try { doc = Jsoup.connect("http://www.dytt8.net/html/gndy/dyzz/20170129/53098.html").get(); // 获取网页文本 Elements elements = doc.getElementsByAttributeValueMatching("href", "ftp"); //通过匹配属性的内容获取元素 for (int i = 0; i < elements.size(); i++) { System.out.println("元素的长度: "+elements.size());// 元素的长度为1 Element element = elements.get(i); System.out.println("获取的数据: "+element.attr("href")); // 显示元素下的属性 } } catch (IOException e) { e.printStackTrace(); } } public static void main(String[] args){ test1(); } }
用一行代码实现上面功能
public static void test1x() { try { System.out.println(Jsoup.connect("http://www.dytt8.net/html/gndy/dyzz/20170129/53098.html").get() .getElementsByAttributeValueMatching("href", "ftp").get(0).attr("href")); // 获取网页文本 ->通过匹配属性价值获取元素 ->获取属性内容 System.out.println("成功获取属性内容"); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } }
二:读取电影天堂某个页面里所有电影的下载地址
http://www.dytt8. a5cb
net/html/gndy/dyzz/index.html
/** * 功能:读取http://www.dytt8.net/html/gndy/dyzz/index.html 页面里所有电影下载地址 * 步骤: * ->获取网页文本 ->通过类型那个获取元素组(获取到的元素是多个的) ->在元素组里获取第i个元素 */ public static void test2() { try { Document doc = Jsoup.connect("http://www.dytt8.net/html/gndy/dyzz/index.html").get(); // 获取网页文本 Elements elements = doc.getElementsByClass("ulink"); // 通过类型那个获取元素组(获取到的元素是多个的) System.out.println("捕获元素个数: "+elements.size()); // 输出元素长度 for (int i = 0; i < elements.size(); i++) { Element element = elements.get(i); // 在元素组里获取第i个元素 System.out.println(" 第"+i+"地址:"+element.attr("href")); // 打印出第i个元素的属性内容 } } catch (IOException e) { e.printStackTrace(); } System.out.println("成功捕获所有电影地址!"); } public static void main(String[] args){ test2(); }
三、获取一个页面里的分页栏
http://www.dytt8.net/html/gndy/dyzz/index.html
/** * 功能:读取http://www.dytt8.net/html/gndy/dyzz/index.html * 页面里的分页栏 * 步骤: * ->获取网页文本 * ->通过类型那个获取元素组(获取到的元素是多个的) ->在元素组里获取第i个元素 */ public static void test3() { try { Document doc = Jsoup.connect("http://www.dytt8.net/html/gndy/dyzz/index.html").get(); // 获取网页文本 Elements elements = doc.getElementsByAttributeValueMatching("name", "sldd").get(0) .getElementsByTag("option"); // 通过匹配属性内容获取元素 // 再通过标签获取元素 System.out.println("获取元素成功!"); System.out.println("该分页栏分页数: "+elements.size()); // 打印分页的长度 for (int i = 0; i < elements.size(); i++) { Element element = elements.get(i); System.out.println("第"+(i+1)+"分页地址: "+element.attr("value")); // 打印元素的属性内容 } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } System.out.println("成功获取该网页的分页所有地址!!"); }
相关文章推荐
- 利用java ,apache和android的方法来获取网络数据
- Android利用Get、Post 获取网络数据
- Android利用Get、Post 获取网络数据
- 在java项目中怎样利用Dom4j解析XML文件获取数据
- 网络爬虫--Jsoup的一些获取数据方法
- 网络获取图片数据后 利用viewpager实现弹簧效果
- java jsoup 爬虫爬asp.net网站遇到_doPostBack不能获取翻页数据解决办法
- JAVA 网络 URL 从网页上获取数据 二
- Java爬虫--利用HttpClient和Jsoup爬取博客数据并存入数据库
- 利用HttpClient 获取网页数据java代码模版
- JSONObject 解析从网络获取的json数据时,java.lang.String cannot be converted to JSONObject解决办法(编码 UTF-8)
- Java 网络 URL 从网页上获取数据
- IOS程序员简单利用JAVA网络数据抓包
- 利用java获取Linux服务器的CPU、内存、磁盘IO、网络带宽使用率
- java.net.*获取网络数据
- Java从网络中请求获取JSon数据以及解析JSON数据----(自创,请注明)
- 在java项目中如何利用Dom4j解析XML文件获取数据
- 利用Jsoup模拟跳过登录爬虫获取数据
- Java爬虫Jsoup+httpclient获取动态生成的数据