java 怎么获取网站中所有的a标签,以及a标签里面的内容

作者&投稿:颜货 (若有异议请与网页底部的电邮联系)
~
//以下演示针对已经获取html源码后进行过滤,把过滤后的地址进行保存!
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.io.UnsupportedEncodingException;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Day02_ReadUrl {
// http过滤!
final static String http = "(http|ftp|https):\\/\\/[\\w\\-_]+(\\.["
+ "\\w\\-_]+)+([\\w\\-\\.,@?^=%&:/~\\+#]*[\\w\\-\\@?^=%&/~\\+#])?";
// a标签过滤!
final static String href = "<a\\b[^>]+\\bhref=\"([^\"]*)\"[^>]*>([\\s\\S]*?)</a>";
// 文件目录
static File dir = new File("k:/Test");

public static void main(String[] args) {
// 创建关联读取文件
File readFile = new File(dir, "TestUrl.txt");
File http=new File(dir,"http.txt");
File href=new File(dir,"href.txt");
// 如果文件存在就继续!
if (readFile.canExecute()) {
init(readFile,http,href);
}
}

// 开始读取文件!
private static void init(File file,File http,File href) {
BufferedReader br = null;
final PrintWriter p1,p2;
try {
br = new BufferedReader(new InputStreamReader(new FileInputStream(file), "GBK"));
p1=new PrintWriter(new FileOutputStream(http,false),true);
p2=new PrintWriter(new FileOutputStream(href,false),true);
for (String str = br.readLine(); str != null; str = br.readLine()) {
getHttp(str,p1);
getHref(str,p2);
}
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (br != null) {
try {
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
// 获取所有链接!
private static void getHttp(String str,PrintWriter pw) {
final Matcher m=Pattern.compile(http).matcher(str);
while(m.find()) {
pw.println(m.group());
}
}
// 获取所有A标签
private static void getHref(String str, PrintWriter pw) {
final Matcher m=Pattern.compile(href).matcher(str);
while(m.find()) {
pw.println(m.group());
}
}
}



Document doc = Jsoup.connect("http://example.com/").get();
Elements links = doc.select("a[href]"); // a with href

Jsoup了解一下。



Java爬虫有偿助攻,私信我




赫章县15962033204: java获取网页内容中所有的<a>标签的href属性指向的地址,并在屏幕打印出来 即是查找href=和>之间的数据 -
右巧赛博: jsoup(http://www.jsoup.org) URL url = ...Document doc = Jsoup.parse(url, 3000); Elements elements = doc.select("a"); for(Element element : elements){System.out.println(element.attr("href")); }

赫章县15962033204: java 怎么根据网址获取网站的图标,并保存下来,谢谢了 -
右巧赛博: 1. 网站图标是在html或者jsp页面中设置的 2. 在网页的 ... 区加入代码:,如果用这一种方法的话,其中 ICO 文件的文件名就不一定要用 favicon.ico了,可以用任意的名字来命名,如:aoul.ico,

赫章县15962033204: Android编程如何用Java获取某个网页里某个div里<a>标签所指向的链接? -
右巧赛博: 通过JS获取.传入后台.docment.getElementById你搜一下.

赫章县15962033204: java 实现网页中pdf文件的下载(抓取),求实现的程序代码 -
右巧赛博: Document doc=Jsoup.connect("http://xh.xhby.net/mp2/html/2016-05/29/node_2.htm").get();//解析网页 Elements e=doc.getElementsByTag("a");//获取所有的a标签 for(org.jsoup.nodes.Element e2:e){ //如果标签href中含pdf文件名,则打...

赫章县15962033204: java中filter怎么获取a标签请求的路径 -
右巧赛博: 当我们访问index.jsp/时,其实并不是我们浏览器真正访问到了服务器上的index.jsp 文件,而是先由代理服务器去访问index.jsp.7a686964616fe78988e69d8331333365633962 代理服务器再将访问到的结果返回给我们的浏览器,因为是代理服...

赫章县15962033204: 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 ...

赫章县15962033204: 如何使用java正则表达式提取网页中标签里的内容,比如如何提取<td>20分钟</td>里的20分钟,请求高手帮助
右巧赛博: 代码很简单,一看就能看懂:import java.util.regex.Matcher;import java.util.regex.Pattern;public class Test { public static void main(String[] args) { Pattern p = Pattern.compile("(?&lt;=&lt;td&gt;).*(?=&lt;/td&gt;)"); String str ="&lt;td&gt;20分钟&lt;/td...

赫章县15962033204: javascript中怎样获取当前被点击的a标签的值? -
右巧赛博: 要获得指定的a标签的值,我们首先要用JavaScript找到这个a标签.html代码:这种获取选中标签的方式,是通过监听body来实现的,所以body上要增加这个onclick事件<body onclick="getUrl(arguments[0])">1. JavaScript一种直译式脚本语言...

赫章县15962033204: js获取网页当中所有标签里面的文本 -
右巧赛博: <!DOCTYPE HTML><html><head><meta charset=UTF-8><title>recursion</title><style type="text/css"></style><script type="text/javascript"> var array = []; onload = function () { var tags = document.body.getElementsByTagName ('*'); for ( var i ...

赫章县15962033204: java 根据a标签内容获取href链接地址 -
右巧赛博: var as = document.getElementsByTag("a"); var href = as[0].href; var title = as[0].innerText;

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网