各位好,我想爬取网页上的数据用作绘图,但是现在只能将网页代码下载下来不知道该怎么提取?用JAVA写的。希望可以知道如何从网站上爬取数据,并保存为xml
的格式。在此谢谢
你可以了解一下JSOUP,用这个进行网页抓取和数据提取比较简单的,能提取各种元素和对应的数据。
你百度一下,内容很多的。发个小例子:
/**
* 抓取url网址页面链接上满足后边正则的url链接
*/
public static Set<String> getHrefList(String url, String regular){
Set<String> urlSet = new HashSet<String>();
Document doc = null;
try {
doc = Jsoup.connect(url).userAgent("Mozilla").timeout(20000).get();
Elements links = doc.getElementsByTag("a");
String linkHref = "";
// String linkText = "";
// Pattern pattern = Pattern.compile("^http://blog\\.csdn\\.net/[^\\s]*/article/details/[0-9]+$");
Pattern pattern = Pattern.compile(regular);
Matcher matcher = null;
for (Element link : links) {
linkHref = link.attr("href");
// linkText = link.text();
matcher = pattern.matcher(linkHref);
if(matcher.find()){
urlSet.add(linkHref);
}
}
} catch (IOException e) {
e.printStackTrace();
}
return urlSet;
}
既然能够把网页下载下来就能得到源文件的xml文件,那么就直接解析xml文件就可以了。
Java的htmlparser工具是可以专门解析xml格式的工具。
Java可以直接用HttpURLConnection模拟浏览器请求获取网页源文件的。
使用方式参考:http://blog.csdn.net/x1617044578/article/details/8668632