导航:首页 > 净水问答 > jsoup过滤所有网址

jsoup过滤所有网址

发布时间:2021-03-21 03:19:26

1. Jsoup抓取的网址中含有中文和中文标点是乱码,报错

用jsoup,一般不用设置编码方式

2. 如何使用jsoup或其他方法删除网页中的js代码部分

查查api不就好了,上面都说明的,官网上也有一些例子
String html = <divhello <sworld</s</div<script type=\text/javascript\function hello(){alert(1);}</script<spanmy name is tony</span;
Whitelist whitelist = Whitelist.relaxed();//创建relaxed的过滤
Document doc = Jsoup.parseBodyFragment(html);
whitelist.addTags(span,s);//添加relaxed里面没有的标签
Cleaner cleaner = new Cleaner(whitelist);
doc = cleaner.clean(doc);//按照过滤器清除
//doc.outputSettings().prettyPrint(false);//是否格式化
Element body = doc.body();
System.out.println(doc.html());//完整的html字符串

3. 哥,如何运用java取得某一链接网址中所有的链接网址并存储然后我再调用HttpURLConnection判断链接有效性

哈哈,这个问题有点意思。

推荐给你两个工具,自己研究下:
1. Apache HttpClient 用于发送请求,得到网页内容;
2. JSoup 用于解析Html;

其他就是体力活了,但是JSoup很强大,语法类似jQuery。

Happy Coding!

4. 我再用jsoup写爬虫时,想要获取页面的所有子链接代码如下:

这样就可以啦!!!

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 Teste {
public static void main(String[] args) {
try {
Document doc = Jsoup.connect("http://news.sina.com.cn/")
.userAgent("Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.2.15)")
.timeout(5000).get();
Elements hrefs = doc.select("a[href]");
for(Element elem:hrefs){
System.out.println(elem.attr("abs:href"));
}
} catch (IOException e) {
e.printStackTrace();
}
}
}

5. 我需要一个匹配URL的正则表达式,http://``````/request=GetCapabilities&service= 省略号的是某一个网

干嘛需要用正则,网络爬虫非常方便就能提取所有网页URL。。。。

去看看jsoup这个东西吧。非常方便的。。。。。。。

6. java提取网站内部所有URL

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;

public class GetLinks {
private String webSource;
private String url;

public GetLinks(String url) throws MalformedURLException, IOException {
this.url = Complete(url);
webSource = getWebCon(this.url);
}

private String getWebCon(String strURL) throws MalformedURLException,
IOException {
StringBuffer sb = new StringBuffer();
java.net.URL url = new java.net.URL(strURL);
BufferedReader in = new BufferedReader(new InputStreamReader(url
.openStream()));
String line;
while ((line = in.readLine()) != null) {
sb.append(line);
}
in.close();
return sb.toString();
}

private String Complete(String link)throws MalformedURLException{
URL url1 = new URL(link);
URL url2 = new URL(link+"/");
String handledUrl = link;
try{
StringBuffer sb1 = new StringBuffer();
BufferedReader in1 = new BufferedReader(new InputStreamReader(url1
.openStream()));
String line1;
while ((line1 = in1.readLine()) != null) {
sb1.append(line1);
}
in1.close();

StringBuffer sb2 = new StringBuffer();
BufferedReader in2 = new BufferedReader(new InputStreamReader(url2
.openStream()));
String line2;
while ((line2 = in2.readLine()) != null) {
sb2.append(line2);
}
in1.close();

if(sb1.toString().equals(sb2.toString())){
handledUrl = link+"/";
}
}catch(Exception e){
handledUrl = link;
}
return handledUrl;

}

/**
* 处理链接的相对路径
* @param link 相对路径或绝对路径
* @return 绝对路径
*/
private String urlHandler(String link) {
if (link == null)
return null;
link = link.trim();

if (link.toLowerCase().startsWith("http://")
|| link.toLowerCase().startsWith("https://")) {
return link;
}
String pare = url.trim();
if (!link.startsWith("/")) {
if (pare.endsWith("/")) {
return pare + link;
}

if (url.lastIndexOf("/") == url.indexOf("//") + 1 || url.lastIndexOf("/") == url.indexOf("//") + 2) {
return pare + "/" + link;
} else {
int lastSeparatorIndex = url.lastIndexOf("/");
return url.substring(0, lastSeparatorIndex + 1) + link;
}
}else{
if (url.lastIndexOf("/") == url.indexOf("//") + 1 || url.lastIndexOf("/") == url.indexOf("//") + 2) {
return pare + link;
}else{
return url.substring(0,url.indexOf("/", url.indexOf("//")+3)) + link;
}
}
}

public List<String> getAnchorTagUrls() {
if (webSource == null) {
System.out.println("没有网页源代码");
return null;
}
ArrayList<String> list = new ArrayList<String>();
int index = 0;
while (index != -1) {
index = webSource.toLowerCase().indexOf("<a ", index);
if (index != -1) {
int end = webSource.indexOf(">", index);
String str = webSource.substring(index, end == -1 ? webSource
.length() : end);
str = str.replaceAll("\\s*=\\s*", "=");
if (str.toLowerCase().matches("^<a.*href\\s*=\\s*[\'|\"]?.*")) {// "^<a\\s+\\w*\\s*href\\s*=\\s*[\'|\"]?.*"
int hrefIndex = str.toLowerCase().indexOf("href=");
int leadingQuotesIndex = -1;
if ((leadingQuotesIndex = str.indexOf("\"", hrefIndex
+ "href=".length())) != -1) { // 形如<a
// href=".....">
int TrailingQuotesIndex = str.indexOf("\"",
leadingQuotesIndex + 1);
TrailingQuotesIndex = TrailingQuotesIndex == -1 ? str
.length() : TrailingQuotesIndex;
str = str.substring(leadingQuotesIndex + 1,
TrailingQuotesIndex);
str = urlHandler(str);
list.add(str);
System.out.println(str);
index += "<a ".length();
continue;
}

if ((leadingQuotesIndex = str.indexOf("\'", hrefIndex
+ "href=".length())) != -1) { // 形如<a
// href='.....'>
int TrailingQuotesIndex = str.indexOf("\'",
leadingQuotesIndex + 1);
TrailingQuotesIndex = TrailingQuotesIndex == -1 ? str
.length() : TrailingQuotesIndex;
str = str.substring(leadingQuotesIndex + 1,
TrailingQuotesIndex);
str = urlHandler(str);
System.out.println(str);
list.add(str);
index += "<a ".length();
continue;
}

int whitespaceIndex = str.indexOf(" ", hrefIndex
+ "href=".length()); // 形如<a href=
// http://www..com >
whitespaceIndex = whitespaceIndex == -1 ? str.length()
: whitespaceIndex;
str = str.substring(hrefIndex + "href=".length(),
whitespaceIndex);
str = urlHandler(str);
list.add(str);
System.out.println(str);

}
index += "<a ".length();
}
}
return list;
}

public static void main(String[] args) throws Exception {
GetLinks gl = new GetLinks("http://www..com");
List<String> list = gl.getAnchorTagUrls();
for(String str:list) {
System.out.println(str);
}
}
}

7. 如何不让jsoup.parse过滤标签

//过滤内容中的非法标签
org.jsoup.nodes.Document document = Jsoup.parse(html);
//只过滤body内容
org.jsoup.nodes.Document body = Jsoup.parse(document.body().html());
//自定义的标签白名单
Cleaner cleaner = new Cleaner(WhitelistFactory.createWhitelist(WhitelistFactory.EPUB20));
org.jsoup.nodes.Document bodyCleaned = cleaner.clean(body);
document.body().html(bodyCleaned.html());
String newHtml = document.html();

8. jsoup 过滤指定标签问题JAVA

for(Elementlink:links){
//通过link.child(index)或link.getElementsBy<attr>(key,value)获得部分子节点
mArrayList.add(link.text());
}

9. java中用Jsoup如何抓取不同页内容(该网址不同页地址相同)

抓到一个页面 在里面分析 有没有 href 拼接 继续抓

下一页 用的是表单提交 监听下表单提交的参数 模拟下

10. jsoup如何筛选属性

提示的很清楚了,helloAction类找不到。先不要用注入的方式试一下,如果可以,那就是你Spring配置的问题;如果不可以,那就是你Struts2没配对
请采纳答案,支持我一下。

阅读全文

与jsoup过滤所有网址相关的资料

热点内容
纳滤实验设备 浏览:772
抚州市污水处理厂环评 浏览:346
净水烧水有水垢 浏览:516
帕拉丁空调滤芯怎么样 浏览:978
蒸馏过程是一个什么过程 浏览:534
污水排放验收记录表 浏览:874
vv7用的什么空气净化器 浏览:649
超滤膜化学清洗资料 浏览:642
如何去除蹲坑里的水垢 浏览:972
生活污水什么工艺能得到五类水 浏览:677
半导体纯水toc要求多少 浏览:998
树脂赶集网 浏览:946
tzl75净水器滤芯怎么安装 浏览:663
集米m2即热式饮水机怎么解除童锁 浏览:98
鱼缸过滤器自制视频教程 浏览:297
解释一下这个滤芯是什么意思 浏览:439
成品缸有过滤器吗 浏览:413
饮水机没有ro膜有什么区别 浏览:374
过滤效率百分之九十能防 浏览:315
大风量油烟净化器清洗多少钱一套 浏览:347