jsoup解析html

XML笔记-概念、语法、解析

三世轮回 提交于 2020-02-02 20:40:58
## XML: 1. 概念: Extensible Markup Language 可扩展标记语言 * 可扩展:标签都是自定义的。 <user> <student> * 功能 * 存储数据 1. 配置文件 2. 在网络中传输 * xml与html的区别 1. xml标签都是自定义的,html标签是预定义。 2. xml的语法严格,html语法松散 3. xml是存储数据的,html是展示数据 * w3c:万维网联盟 2. 语法: * 基本语法: 1. xml文档的后缀名 .xml 2. xml第一行必须定义为文档声明 3. xml文档中有且仅有一个根标签 4. 属性值必须使用引号(单双都可)引起来 5. 标签必须正确关闭 6. xml标签名称区分大小写 * 快速入门: <?xml version='1.0' ?> <users> <user id='1'> <name>zhangsan</name> <age>23</age> <gender>male</gender> <br/> </user> <user id='2'> <name>lisi</name> <age>24</age> <gender>female</gender> </user> </users> * 组成部分: 1. 文档声明 1. 格式:<?xml 属性列表 ?> 2. 属性列表: * version

python/java 解析 HTML 网页数据的几种方法简介

|▌冷眼眸甩不掉的悲伤 提交于 2019-12-04 15:50:56
工作中经常与数据打交道,去网上抓取数据也成了家常便饭。以前就准备抽空总结下的。 最近刚好看到 http://segmentfault.com/q/1010000000124036 上这篇文章有人问到了, 而且下面有热心pythoner 已经回答了,特此整理下,以备忘。 问题:现在要抓取一批页面,并将指定标签里面的数据抓取出来,如何做到通用性好,稳定可用? 1、使用第三方库:mechanize import mechanize import cookielib if __name__=='__main__': br = mechanize.Browser() br.set_cookiejar(cookielib.LWPCookieJar()) # Cookie jar br.set_handle_equiv(True) # Browser Option br.set_handle_gzip(True) br.set_handle_redirect(True) br.set_handle_referer(True) br.set_handle_robots(False) br.set_handle_refresh(mechanize._http.HTTPRefreshProcessor(), max_time=1) br.addheaders = [('User-agent',

Java网页抓取技术HtmlUnit

匿名 (未验证) 提交于 2019-12-02 21:53:52
HttpClient HttpClient 是 Apache Jakarta Common 下的子项目,可以用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。 以下列出的是 HttpClient 提供的主要的功能,要知道更多详细的功能可以参见 HttpClient 的主页。 (1)实现了所有 HTTP 的方法(GET,POST,PUT,HEAD 等) (2)支持自动转向 (3)支持 HTTPS 协议 (4)支持代理服务器 (5)支持自动的Cookies管理等 Jsoup jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。 网页获取和解析速度飞快,推荐使用。 主要功能如下: 从一个URL,文件或字符串中解析HTML; 使用DOM或CSS选择器来查找、取出数据; 可操作HTML元素、属性、文本; HtmlUnit htmlunit 是一款开源的java 页面分析工具,读取页面后,可以有效的使用htmlunit分析页面上的内容。项目可以模拟浏览器运行,被誉为java浏览器的开源实现。这个没有界面的浏览器,运行速度也是非常迅速的。采用的是Rhinojs引擎。模拟js运行。

Java爬虫实践:Jsoup+HttpUnit爬取今日头条、网易、搜狐、凤凰新闻

匿名 (未验证) 提交于 2019-12-02 21:53:52
最近学习爬虫,分析了几种主流的爬虫框架,决定使用最原始的两大框架进行练手: Jsoup&HttpUnit 其中jsoup可以获取静态页面,并解析页面标签,最主要的是,可以采用类似于jquery的语法获取想要的标签元素,例如: //1.获取url地址的网页html html = Jsoup.connect(url). get (); // 2.jsoup获取新闻<a>标签 Elements newsATags = html. select ( "div#headLineDefault" ) . select ( "ul.FNewMTopLis" ) . select ( "li" ) . select ( "a" ); 但是,有些网页(例如今日头条)并非是静态页面,而是在首页加载后通过ajax获取新闻内容然后用js渲染到页面上的。对于这种页面,我们需要使用htmlunit来模拟一个浏览器访问该url,即可获取该页面的html字符串。代码如下: WebClient webClient = new WebClient(BrowserVersion .CHROME ) ; webClient .getOptions () .setJavaScriptEnabled (true) ; webClient .getOptions () .setCssEnabled (false) ;

Java网页抓取技术HtmlUnit

匿名 (未验证) 提交于 2019-12-02 20:37:20
??在Java中有很多开源的组件来支持各种各样方式的网页抓取,仅仅是使用Java做网页抓取还是比较容易的。主要的网页抓取技术: HttpClient HttpClient 是 Apache Jakarta Common 下的子项目,可以用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。 以下列出的是 HttpClient 提供的主要的功能,要知道更多详细的功能可以参见 HttpClient 的主页。 (1)实现了所有 HTTP 的方法(GET,POST,PUT,HEAD 等) (2)支持自动转向 (3)支持 HTTPS 协议 (4)支持代理服务器 (5)支持自动的Cookies管理等 Jsoup jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。 网页获取和解析速度飞快,推荐使用。 主要功能如下: 从一个URL,文件或字符串中解析HTML; 使用DOM或CSS选择器来查找、取出数据; 可操作HTML元素、属性、文本; HtmlUnit htmlunit 是一款开源的java 页面分析工具,读取页面后,可以有效的使用htmlunit分析页面上的内容。项目可以模拟浏览器运行

JAVA XML

空扰寡人 提交于 2019-11-29 19:46:18
XML XML的概念 可扩展标记语言(Extensible Markup Language) 可扩展:标签都是自定义的。    功能   存储数据:1.配置文件 2.在网络中传输 xml与html的区别 1.xml标签都是自定义的,html标签是预定义的 2.xml的语法严格,html语法松散 3.xml是存储数据的,html是展示数据   他们都是W3C的产品 XML的语法   基本语法:     1.xml文档的后缀名.xml     2.xml第一行必须定义为文档声明     3.xml文档中有且仅有一个根标签     4.属性值必须使用引号引起来     5.标签必须正确关闭     6.xml标签名称严格区分大小写    <?xml version="1.0" encoding="UTF-8" ?> <students> <student number="1"> <name>hahah</name> <age>20</age> <sex>female</sex> </student> </students> 组成部分:   1.文档声明 : 格式:<?xml 属性列表 ?>   2.属性列表: version:版本号,必须的属性         encoding:编码方式         standalone:是否独立(yes or no)   3.标签:标签名称自定义

XML的学习

情到浓时终转凉″ 提交于 2019-11-29 19:18:35
什么是XML 概念:可扩展标记语言(可扩展:可以自定义标签) XML和HTML的区别 1.XML的标签是自定义的,而HTML的标签是有规则的 2.XML的语法严格,而HTML的语法相对松散(体现在浏览器上) 3.XML用于存储数据,而HTML用于展示数据 XML的功能 1.存储数据 1.作为配置文件 2.可在网络中传输 XML的语法 1.XML文件的文件后缀为.xml 2.第一行必须被定义为文档声明【最顶上】 3.XML文档有且仅有一个根标签【总的标签】 4.属性必须用引号括起(单双皆可)【<use id='1'>】 5.标签必须闭合(自闭也可) 6.XML的标签名区分大小写 XML的组成部分 1.文档声明 1.格式 <?xml 属性列表?> 2.属性列表 1.version:版本号 一般都是version=‘1.0’(这个必须要写,且1.0是主流版本) 2.encordin:编码方式 告知解析引擎当前文档使用的字符集 encording='GBK' 3.standalone 是否独立 yes:不依赖与其他文件 no:反之 2.指令 用的比较少,用于结合css 3.标签: 自定义名称 规则:包含字母数字标点,不能以数字标点开始,同时不能以字母xml(大小写变动也不可以)开始,名称不能包括空格 4.属性 id属性值唯一 5.文本 CDATA区:在该区中数据可以原样显示(编码时