jsoup如何通过字符串抓取元素

jsoup如何通过字符串抓取元素,第1张

String html = "<div class=''aa" id="aa">

</div>";

Document doc = Jsoupparse(html);

Element link = docselect("div#>aa");//使用id

如果要获取div里面的其它节点直接docselect("div#>aa>p") id=p的节点。

其实任何网页的数据都是由 请求-响应 组成的,谷歌或者火狐 开了F12 选择网络,点击那个更多按钮,你就可以获取到他访问的连接,后面不论普通的 >

public void parse(){

String htmlStr = "<table id=kbtable >"

+ "<tr> "

+ "<td width=123>"

+ "<div id=12>这里是要获取的数据1</div>"

+ "<div id=13>这里是要获取的数据2</div>"

+ "</td>"

+ "<td width=123>"

+ "<div id=12>这里是要获取的数据3</div>"

+ "<div id=13>这里是要获取的数据4</div>"

+ "</td> "

+ "</tr>"

+ "</table>";

Document doc = Jsoupparse(htmlStr);

// 根据id获取table

Element table = docgetElementById("kbtable");

// 使用选择器选择该table内所有的<tr> <tr/>

Elements trs = tableselect("tr");

//遍历该表格内的所有的<tr> <tr/>

for (int i = 0; i < trssize(); ++i) {

// 获取一个tr

Element tr = trsget(i);

// 获取该行的所有td节点

Elements tds = trselect("td");

// 选择某一个td节点

for (int j = 0; j < tdssize(); ++j) {

Element td = tdsget(j);

// 获取td节点的所有div

Elements divs = tdselect("div");

// 选择一个div

for (int k = 0; k < divssize(); k++) {

Element div = divsget(k);

//获取文本信息

String text = divtext();

//输出到控制台

Systemoutprintln(text);

}

}

}

}

总结一下Jsoup提供的方法:

获取元素的有:

getElementById(String id)

getElementsByTag(String tag)

getElementsByClass(String className)

getElementsByAttribute(String key)

siblingElements(), firstElementSibling(), lastElementSibling(); nextElementSibling(), previousElementSibling()

parent(), children(), child(int index)

获取元素数据:

attr(String key) 获取属性

attr(String key, String value) 设置属性

attributes() 获取所有属性

id(), className() and classNames()

text() 获取文字内容

text(String value) 设置文字内容

html() 获取html内容

html(String value) 设置html内容

outerHtml()

data() 获取类似script,style的数据内容

tag() and tagName()

*** 作HTML内容:

append(String html), prepend(String html)

appendText(String text), prependText(String text)

appendElement(String tagName), prependElement(String tagName)

html(String value)

怎样批量获取网页中的所有地址?求大神帮助

你可以用探嗅软体,影音神探,探嗅,可以批量获取网页中的所有地址, :crsky/soft/3520 这里可以下载。

如何批量下载一个网页的所有?急!

:jingyanbaidu/article/8275fc869e170f46a03cf6e4

首先开启你的浏览器,然后在浏览器介面上方右击滑鼠,选择选单栏,如果你的浏览器已经有选单栏了,这一步可以省略~

然后,点选档案——储存网页

在选择储存格式的时候,一定要选择网页,全部,不然储存下来的是没有图的哦~

接着点选储存按钮,将整个网页都储存下来~

储存下来的有一个资料夹和一个网页档案,双击开启那个资料夹~

里面全是网页上的了,但是尺寸只是你看到的尺寸哦,如果嫌这些尺寸太小,不合用,比如桌布,建议还是直接在网页上点选下载,这样可以下载高清的哦,直接批量储存网页有利有弊啦

求助怎么获取exe程式的所有

这是pdf加密档案,可以直接破解出原来的不加密档案,破解后任何电脑都能看,也可以复制和列印的。

怎样一键提取网页里的所有?

简单,你点网页另存为:网页,全部(htm;),储存到桌面上,储存完以后,桌面上会出现一个新资料夹里边装了所有。

java获取某个网页所有并下载到电脑

我不晓得你的指的是背景图还是只包含img标签内的,其实区别不大

1、首先 一个urlConnection,连结到你想要的网址,得到response的inputStream,

2、把返回的response当做一个xml解析(推荐使用jsoup,更方便一些),得到所有的img标签,遍历标签的src,下载得到所有的,这边需要注意下 有些网站可能会使用防盗链,低阶的你完全可以用cookie糊弄过去,高阶的就不太好搞了。需要你改一些request中的属性例如Referer之类的,再蛋疼的就需要拿到返回的二级制档案,然后本地重绘了。。。。

3、如果背景图什么的也要的话 ,拿到页面中的css档案,得到所有的连结,重复第二部的 *** 作。。。。

如何全选网页中的所有 将之复制呢

你把网页整个储存 储存的档案中就有一个资料夹是所有的 自己复制就好了

怎样在chrome中批量获取网页中所需媒体的连结地址

chrome浏览器用小乐图客扩充套件,可以批量获取连结地址,具体步骤:

:jingyanbaidu/article/63acb44ada434a61f17ee4

如何通过js获取网页中所有并加入点选事件,实现

在网页载入完成时,通过js获取和新增点选的识别方式

- (void)webViewDidFinishLoad:(UIWebView )webView {

[IDProgressHUD IDPlaceViewHideDirect:selfview];

这里是js,主要目的实现对url的获取

static NSString const jsGetImages =

@"function getImages(){\

var objs = documentgetElementsByTagName(\"img\");\

var imgScr = '';\

for(var i=0;i<objslength;i++){\

imgScr = imgScr + objs[i]src + '+';\

};\

return imgScr;\

};";

[webView stringByEvaluatingJavaScriptFromString:jsGetImages];注入js方法

NSString urlResurlt = [webView stringByEvaluatingJavaScriptFromString:@"getImages()"];

mUrlArray = [NSMutableArray arrayWithArray:[urlResurlt ponentsSeparatedByString:@"+"]];

if (mUrlArraycount >= 2) {

[mUrlArray removeLastObject];

}

urlResurlt 就是获取到得所有的url的拼接;mUrlArray就是所有Url的阵列

新增可点选js

[mWebView stringByEvaluatingJavaScriptFromString:@"function registerImageClickAction(){\

var imgs=documentgetElementsByTagName('img');\

var length=imgslength;\

for(var i=0;i<length;i++){\

img=imgs[i];\

imgonclick=function(){\

windowlocationhref='image-preview:'+thissrc}\

}\

}"];

[mWebView stringByEvaluatingJavaScriptFromString:@"registerImageClickAction();"];

}

在这个方法中捕获到的点选事件和被点选的url

- (BOOL)webView:(UIWebView )webView shouldStartLoadWithRequest:(NSURLRequest )request navigationType:(UIWebViewNavigationType)navigationType {

预览

if ([requestURLscheme isEqualToString:@"image-preview"]) {

NSString path = [requestURLabsoluteString substringFromIndex:[@"image-preview:" length]];

path = [path stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

path 就是被点选的url

return NO;

}

return YES;

}

android如何获取相簿所有

从本地选择(比如按钮触发该事件,调取系统相簿)

if (EnvironmentgetExternalStorageState()equals(

EnvironmentMEDIA_MOUNTED)) {

Intent getImageIntent = new Intent(IntentACTION_GET_CONTENT);

getImageIntentaddCategory(IntentCATEGORY_OPENABLE);

getImageIntentsetType("image/jpeg");

startActivityForResult(getImageIntent, 4);

} else {

ToastmakeText(getApplicationContext(), "SD卡不可用", 0)show();

}

本地选择 结果

在activity的onactivityresult()中写:

if (data != null) {判空

Uri uri = datagetData();

urigetPath()toString();

ContentResolver cr = thisgetContentResolver();

try {

Bitmap bmp;压缩

BitmapFactoryOptions option = new BitmapFactoryOptions();

optioninJustDecodeBounds = true;

optioninPurgeable = true;

optioninInputShareable = true;

optioninSampleSize = 2;

optioninJustDecodeBounds = false;

bmp = BitmapFactorydecodeStream(cropenInputStream(uri),

null, option);

imageView_userLogo(view控制元件设定背景)

imageView_userLogosetImageBitmap(BmpToRound

toRoundBitmap(bmp));

File file = SaveBitmapToSdCardsaveMyBitmap(

getApplicationContext(),

"" + SystemcurrentTimeMillis(), bmp);

startUpLoad(file);

} catch (FileNotFoundException e) {

eprintStackTrace();

}

}

如何获取一个网页内的所有邮箱地址求大神帮助

我告诉你,你去下载一个MAILGHOST的软体。输入网址他就全部给你抓下来。

记得采纳啊

以上就是关于jsoup如何通过字符串抓取元素全部的内容,包括:jsoup如何通过字符串抓取元素、java如何获取含ajax的网页数据、jsoup解析html的table中的内容等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存