用jsoup解析获取一段网页内容的问题

用jsoup解析获取一段网页内容的问题,第1张

这段html实际上是不符合规范的。在用jsoup解析时会出现问题

我想到一个办法解决这个问题。

首先我想你应该是想得到 标题、馆藏复本的数目、可借复本的数目、朱印宏编著和长江出版社。

所以我们先把上面html里面的文字全部得到即:

java开发解析 馆藏复本:3 可借复本:0 朱印宏编著 长江出版社

然后我想在这段文字中 “馆藏复本:”、“可借复本:”、“编著” 这几个字应该是固定不变的。所以我们可以用正则表达式去对它进行解析,得到你想要的文字。

代码如下:

public class Test {

public static void main(String[] args) {

String html = "<div class=\"list_books\" id=\"list_books\"><td>java开发解析</td><p><span><strong>馆藏复本:</strong>3 <br /> <strong>可借复本:</strong>0 </span>朱印宏编著 <br /> 长江出版社</p> </div>";

Document doc = Jsoupparse(html);

String e = docselect("#list_books")text()replaceAll("[\\s]+", "");

//Systemoutprintln(e);

Pattern p = Patterncompile("^()馆藏复本:([\\d]+)可借复本:([\\d]+)()编著()$");

Matcher m = pmatcher(e);

if(mfind()){

for(int i=1;i<=mgroupCount();i++){

Systemoutprintln(mgroup(i));

}

}

}

}

如果如下:

java开发解析

3

0

朱印宏

长江出版社

问题:大侠们我想问两个Android开发使用jsoup解析html的相关问题

回答:第一个问题帮你解决了;第二个问题很简单(但你用错了),但没有你的这个htm文件,没有修改测试

superonCreate(savedInstanceState);

TextView txt = new TextView(this);

InputStream input;

try {

input = getResources()getAssets()open("temp04_assets/txt01htm");

int buffersize = inputavailable();// 取得输入流的字节长度

byte buffer[] = new byte[buffersize];

inputread(buffer);// 将数据读入数组

inputclose();// 读取完毕后要关闭流。

String txthtml = EncodingUtilsgetString(buffer, "UTF-8");// 设置取得的数据编码,防止乱码

Document doc = Jsoupparse(txthtml);

Element infoTable = docgetElementsByAttributeValue("class",

"table002")first();

Elements tableLineInfos = infoTableselect("tr");

for (Element lineInfo : tableLineInfos) {

String lineInfoContent = lineInfoselect("td")last()text()

trim();

txtsetText(lineInfoContent);

setContentView(txt);

}

} catch (IOException err) {

errgetStackTrace();

}

1你贴的python代码,缩进有问题。

请自己重新确定代码缩进是正常的,且贴出来正常的代码给我们看。

2请确保:

你代码中所处理的内容,的确是你所截图贴出来的内容 -> 程序抓取出来的内容,有时候未必和你查看网页源码看到的内容是一样的。

3你的beautifulSoup使用的方式,就不太对。

从父级不同点来定位,比如:

<div id=“id1”><p class ="xg1">XXXX</div>

<div id="id2"><p class ="xg1">XXXX</div>

。。。。

要定位第一个可以:

Elements e2 = docSelect("div#id1>pxg1");

下面的是我写了一部分的代码

public class NewsItemBiz {

private static String url = ">

以上就是关于用jsoup解析获取一段网页内容的问题全部的内容,包括:用jsoup解析获取一段网页内容的问题、大侠们我想问两个Android开发使用jsoup解析html的相关问题、我利用jsoup解析一个html网页,但是有的地方网页里面有,但是我解析的时候却没有得到等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/web/9797564.html

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

发表评论

登录后才能评论

评论列表(0条)

保存