java怎样读取html文件

java怎样读取html文件,第1张

java可以使用jsoup、htmlparser等工具进行html的读取和解析,以下是详细说明:

1、jsoup 是一款 Java 的HTML 解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于JQuery的 *** 作方法来取出和 *** 作数据。据说它是基于MIT协议发布的。

jsoup的主要功能如下:

从一个URL,文件或字符串中解析HTML;

使用DOM或CSS选择器来查找、取出数据;

可 *** 作HTML元素、属性、文本;

示例代码:

Document doc = Jsoup.parse(input, "UTF-8", "http://www.dangdang.com")

Element content = doc.getElementById("content")

Elements links = content.getElementsByTag("a")

for (Element link : links) {

String linkHref = link.attr("href")

String linkText = link.text()

}

2、htmlparser是一个纯的java写的html解析的库,它不依赖于其它的java库文件,主要用于改造或提取html。它能超高速解析html,而且不会出错。现在htmlparser最新版本为2.0。 据说htmlparser就是目前最好的html解析和分析的工具。无论你是想抓取网页数据还是改造html的内容,用了htmlparser绝对会忍不住称赞。

在线文档: http://www.osctools.net/apidocs/apidoc?api=HTMLParser;http://htmlparser.sourceforge.net/project-info.html

示例代码:

Parser parser = new Parser ("http://www.dangdang.com")

NodeList list = parser.parse (null)

Node node = list.elementAt (0)

NodeList sublist = node.getChildren ()

System.out.println (sublist.size ())

import os,re

def check_flag(flag):

regex = re.compile(r'images\/')

result = True if regex.match(flag) else False

return result

#soup = BeautifulSoup(open('index.html'))

from bs4 import BeautifulSoup

html_content = '''

<a href="https://xxx.com">测试01</a>

<a href="https://yyy.com/123">测试02</a>

<a href="https://xxx.com">测试01</a>

<a href="https://xxx.com">测试01</a>

'''

file = open(r'favour-en.html','r',encoding="UTF-8")

soup = BeautifulSoup(file, 'html.parser')

for element in soup.find_all('img'):

if 'src' in element.attrs:

print(element.attrs['src'])

if check_flag(element.attrs['src']):

#if element.attrs['src'].find("png"):

element.attrs['src'] = "michenxxxxxxxxxxxx" +'/'+ element.attrs['src']

print("##################################")

with open('index.html', 'w',encoding="UTF-8") as fp:

fp.write(soup.prettify()) # prettify()的作⽤是将sp美化⼀下,有可读性


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/6274534.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-19
下一篇 2023-03-19

发表评论

登录后才能评论

评论列表(0条)

保存