Jsoup 标签选择器 选择img标签中src的值
package com.enation.newtest; import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLConnection; import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements; public class TestUrl { /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
//System.out.println("");
String url="http://www.qq.com/";
String encoding="gb2312";
//1.根据网络和页面的编码集 抓取网页的源代码
String htmlResouce=GetHtmlResouceByURL(url, encoding);
System.out.println(htmlResouce); //2.解析网页的源代码 jsoup jar包
Document document = Jsoup.parse(htmlResouce); //ex:抓取图片例子 图片 标签<img src=" " alt=" " width=" " height=" ">
Elements elements=document.getElementsByTag("img");
for(Element element : elements) {
String imgSrc=element.attr("src"); //获取src属性的值
System.out.println(imgSrc);
//下载到本地文件夹中
//downImgs(imgSrc, "D:\\nouse");
}
} /**
* 根据网址和页面的编码集 抓取网页
* @param url 网址
* @param encoding 网页的编码集
* @return 源代码
*
* */
public static String GetHtmlResouceByURL(String url,String encoding){ // 建立容器存储网页源代码
StringBuffer buffer=new StringBuffer();
URL urlobj=null;
URLConnection uc =null;
InputStreamReader isr=null;
BufferedReader input=null;
try {
//建立网络连接
urlobj =new URL(url);
//打开网络连接
uc = urlobj.openConnection();
//建立网络输入流
isr=new InputStreamReader(uc.getInputStream(),encoding);
//建立缓冲流读输入的数据
input=new BufferedReader(isr); //循环遍历数据
String line=null;
while((line=input.readLine())!=null){
//添加换行
buffer.append(line+"\n");
} } catch (Exception e) {
// TODO Auto-generated catch block e.printStackTrace();
System.out.println("连接源代码失败");
}finally{
try {
if(isr!=null)
isr.close();
if(input!=null)
input.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("关闭失败");
}
} return buffer.toString();
}
}
Jsoup 标签选择器 选择img标签中src的值的更多相关文章
- CSS标签选择器(二)
一.CSS选择器概述 1.1.CSS功能 CSS语言具有两个基本功能:匹配和渲染 当浏览器在解析CSS样式时,首先应该确定哪些元素需要渲染,即匹配哪些HTML元素,这个操作由CSS样式中的选择器负责标 ...
- 前端基础之CSS的引入+HTML标签选择器+CSS操作属性
clear:left/ringt属性 CSS:语法形式上由选择器+以及一条或多条声明组成:选择器查找到指定的html标签后,使用css属性设置html标签的样式: ...
- K8S调度之标签选择器
Kubernetes 调度简介 除了让 kubernetes 集群调度器自动为 pod 资源选择某个节点(默认调度考虑的是资源足够,并且 load 尽量平均),有些情况我们希望能更多地控制 pod 应 ...
- 容器编排系统之K8s资源标签、标签选择器、资源注解
前文我们聊到了使用k8s资源配置清单定义资源的相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/14132890.html:今天我们来聊下资源标签,标签选 ...
- 008.kubernets的调度系统之标签选择器
一 Kubernetes 调度简介 除了让 kubernetes 集群调度器自动为 pod 资源选择某个节点(默认调度考虑的是资源足够,并且 load 尽量平均),有些情况我们希望能更多地控制 pod ...
- CSS 标签选择器
CSS 标签选择器 再<stype>标签内,通过指定输入标签来配置CSS样式 <html> <head> <!-- style 设置头部标签--> &l ...
- JQuery 选择某个td中第二个a标签 控制特殊样式
a标签没有disabled属性,那么当我们想禁用a标签的点击事件的时候按照下面方法设置. 下面是html代码: <a id="entry” class="entry" ...
- jQuery查找标签--选择器,筛选器,模态对话框, 左侧菜单栏
查找标签 选择器: 基本选择器(同css) id选择器 $("#id") 标签选择器 $('tagName') class选择器 $(".className") ...
- Day46(列表标签,表格标签,表单标签,css的引入方式,css选择器)
一.列表标签 列表标签分为三种. 1.无序列表<ul>,无序列表中的每一项是<li> 英文单词解释如下: ul:unordered list,“无序列表”的意思. li:lis ...
随机推荐
- 基于LNMP环境的ssh2扩展
openssl: 加密算法集合,C语言实现 libssh2:ssh2协议库库,C语言实现 PECL/ssh2: libssh2的php扩展,允许php程序调用libssh2中的函数 依赖关系:PECL ...
- Ansible学习 Patterns
Ansible中ad-hoc命令格式如下:ansible <pattern_goes_here> -m <module_name> -a <arguments>,P ...
- (转)IDE 而言,是 Xcode 的技术比较先进还是 Visual Studio?
李如一他们弄得那个IT公论,最近有一期是吐槽ObjC的.吐到最后, @涛 吴 说,理想的用户界面语言应该是界面的描述和逻辑分开的,想了半天举不出例子来,其实说的不就是WPF吗?还在用Interface ...
- jQuery-laye插件实现 弹框编辑,异步验证,form验证提交
代码中用到了 jQuery的ajax异步处理,each()循环,submit()页面验证提交form表单,prepend()追加标签,laye插件的弹框效果(如有其它弹框效果可参考官网:http:// ...
- vue 改变我们插值的符号{{}}改为${}
delimiters的作用是改变我们插值的符号.Vue默认的插值是双大括号{{}}.但有时我们会有需求更改这个插值的形式. delimiters:['${','}'] 现在我们的插值形式就变成了${} ...
- 裸机——I2C 2
前面的随笔完成了I2C时序分析(不涉及仲裁) 现在可以学使用控制器的I2C了. 1.先回顾I2C的基础知识 (1)总线包括SCL + SDA. (2)通信的特点: 同步,串行,电平 所以决定了 I2C ...
- C++基础 inline 默认参数 函数占位参数 函数重载
1. inline内联函数 内联函数用于替换宏, 实例: 其中宏和 ++ 连用有副作用. #include "iostream" using namespace std; #def ...
- P1219 N皇后
P1219 N皇后 题目描述 检查一个如下的6 x 6的跳棋棋盘,有六个棋子被放置在棋盘上,使得每行.每列有且只有一个,每条对角线(包括两条主对角线的所有平行线)上至多有一个棋子. 上面的布局可以用序 ...
- C语言进阶—— 接续符和转义符13
接续符的意义: C语言中的接续符 (\) 是指示编译器行为的利器 我们来看一个案例: #in\ clud\ e <st\ dio.h> in\ t m\ ain(\ ) { pri\ nt ...
- redis学习1(nosql)
一. 互联网时代背景下大机遇,为什么用nosql 1.单机MySQL的美好年代 在90年代,一个网站的访问量一般都不大,用单个数据库完全可以轻松应付.在那个时候,更多的都是静态网页,动态交互类型的网站 ...