Soup解析html简单使用

原创 2018年04月17日 16:33:08
import java.io.IOException;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

public class TestSinaHtml_Soup {
    
    public static void main(String[] args){
        final String url="http://news.sina.com.cn/o/2017-12-17/doc-ifypsvkp4239244.shtml" ;
        try {
            Document doc = Jsoup.connect(url).header("Accept", "*/*")
                    .header("Accept-Encoding", "gzip, deflate")
                    .header("Accept-Language", "zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3")
                    .header("Referer", "https://www.baidu.com/")
                    .header("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:48.0) Gecko/20100101 Firefox/48.0")
                    .timeout(5000)
                    .get();

            Elements container = doc.getElementsByClass("article-content clearfix");//class属性
            Document containerDoc = Jsoup.parse(container.toString());
            Elements module = containerDoc.getElementsByClass("article-content-left");
            Document moduleDoc = Jsoup.parse(module.toString());

//            Elements divsElements = doc.select("table");//得到table标签中的内容  
//            Elements divs = doc.select("div#content_left div[data-tools]");
            

            Elements clearfix = moduleDoc.select(".article");  //选择器的形式
            Document detail = Jsoup.parse(clearfix.toString());
            //输出html信息
            System.out.println("--------------------------------------html-----------------------------------------");
            System.out.println(detail);
            System.out.println("--------------------------------------html-----------------------------------------");
            
            //输出标题
            System.out.println("--------------------------------------title-----------------------------------------");
            Elements divs = detail.select("strong");
            for (Element div : divs){
                System.out.println(div.text());
            }
            
            Elements pngs = detail.select("img[src~=.(gif|jpg)]");

            for(Element png:pngs){  
                String pngText=png.text();
                String src=png.attr("src");//根据属性名获取src的路径  
                System.out.println(src+pngText);  
            }  
            
            //获取href路径
            System.out.println("++++++++++++++++++++++++++++++++++++++++++++++++++++++++++");
            Elements links = doc.getElementsByTag("a");
            for (Element link : links) {
              link.attr("href",link.attr("abs:href"));//绝对路径
              String linkHref = link.attr("href");
              System.out.println(linkHref);
              String linkText = link.text();
              System.out.println(linkText);
            }
            
            
          /* Elements ele=doc.getElementsByTag("p");//String  html="<p><a href=\"a.html\">a</p><p> 文本</p>";
            for(Element e :ele){
                System.out.println(e.text());
            }*/
            
            
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
      
}

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011366045/article/details/79976850

Python爬虫之使用BeautifulSoup解析HTML文本

直接上代码,注释也写了 from bs4 import BeautifulSoup #2016.10.20 Python爬虫之解析HTML # 摘要 # 创建对象,DOM树 # 搜索节点,访问...
  • SFtec
  • SFtec
  • 2016-10-21 16:37:37
  • 2537

Python 用BeautifulSoup 解析Html

1. 安装Beautifulsoup4pip install beautifulsoup4 pip install lxml pip install html5liblxml 和 html5lib 是...
  • fox64194167
  • fox64194167
  • 2017-07-29 21:15:32
  • 632

beautifulsoup 解析html方法(爬虫)

用BeautifulSoup 解析html和xml字符串 实例: #!/usr/bin/python # -*- coding: UTF-8 -*- from bs4 import Beaut...
  • u013372487
  • u013372487
  • 2016-06-22 14:25:31
  • 11764

Beautiful Soup4的简单使用

Beautiful Soup是一个Python库 Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档...
  • loonsd
  • loonsd
  • 2017-10-16 20:25:12
  • 278

使用BeautifulSoup解析html入门

最近一直需要接触爬虫,爬虫得到的页面数据需要进一步的处理才能够转化为我们可以使用的数据,在这里今天学习的是BeautifulSoup这个python的第三方的库,这是一款很优秀的产品,可以很好地处理h...
  • Together_CZ
  • Together_CZ
  • 2017-02-20 21:34:13
  • 1652

用BeautifulSoup解析html表格

假设我们网页上有如下表格:我们要用bs4来解析它,来获得想要的字段:Code Example:from bs4 import BeautifulSouphtml = """ ...
  • qq_16912257
  • qq_16912257
  • 2016-11-25 11:19:27
  • 5889

Python爬虫之正则 & BeautifulSoup4解析HTML

编码演变历史 正则表达式 BeautifulSoup4库的使用
  • Idiot_xue
  • Idiot_xue
  • 2017-05-22 14:47:33
  • 2900

BeautifulSoup库(解析html和css文档)入门

使用: from bs4 import BeautifulSoup #bs4代表BeautifulSoup库,BeautifulSoup是一个类 soup = BeautifulSoup(‘dat...
  • sinat_37527191
  • sinat_37527191
  • 2017-03-12 15:45:00
  • 379

Python爬虫包 BeautifulSoup 学习(十) 各种html解析器的比较及使用

BeautifulSoup号称Python中最受欢迎的HTML解析库之一,但是这并不是唯一的选择。解析库lxml这个库可以用来解析HTML和XML文档,以非常底层的实现而闻名,大部分源码都是C语言写的...
  • u013007900
  • u013007900
  • 2017-01-24 10:59:02
  • 2657

【教程】Python中第三方的用于解析HTML的库:BeautifulSoup

【教程】Python中第三方的用于解析HTML的库:BeautifulSoup 个人博客:  http://www.crifan.com/python_third_party_lib_html_p...
  • duanlove
  • duanlove
  • 2016-01-15 13:29:58
  • 1790
收藏助手
不良信息举报
您举报文章:Soup解析html简单使用
举报原因:
原因补充:

(最多只允许输入30个字)