1. 如何把这个网站中的数据用JAVA代码提取出来
使用正则表达式获取数据,先用URL对象读取页面数据,你想怎样得到数据的格式,你自己斟酌
import java.io.BufferedReader;import java.io.InputStreamReader;import java.net.HttpURLConnection;import java.net.URL;import java.util.ArrayList;import java.util.List;import java.util.regex.Matcher;import java.util.regex.Pattern;public class Egg{ /** * * Function: getHTML * * Description: 根据url链接得出页面html数据 * * @param spec * String 待搜查的url链接地址 * @param charsetName * String 页面的字符编码 * @Return String 页面html数据字符串 */ public static String getHTML(String spec, String charsetName) { try { URL url = new URL(spec); HttpURLConnection huc = (HttpURLConnection) url.openConnection(); InputStreamReader isr = new InputStreamReader(huc.getInputStream(), charsetName); BufferedReader br = new BufferedReader(isr); StringBuilder builder = new StringBuilder(); String line = null; while(null != (line = br.readLine())) { builder.append(line); } br.close(); isr.close(); huc.disconnect(); return builder.toString(); } catch(Exception e) { e.printStackTrace(); } return ""; } /** * * Function: getYearDate * 根据年份获取当年的每个月的数据 * * @param html * String 待搜索的页面数据字符串 * @param year * String 待搜索的年份关键字 */ public static List getYearDate(String html, String year) { String regex = "(?i)\\s*" + year + "(?:(?!).)+()?"; Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher(html); String result = ""; while(matcher.find()) { result = matcher.group(); break; } regex = "(?i)]*>\\s*([^\\s\\s*([^ list = new ArrayList(); while(matcher.find()) { String data1 = matcher.group(1); String data2 = matcher.group(3); data2 = null == data2 ? "" : data2; list.add(data1 + data2); } return list; } public static void main(String[] args) { String html = getHTML("ht和谐tp://legacy.bas.ac.uk/met/READER/surface/Amundsen_Scott.00.temperature.html", "utf-8"); List list = getYearDate(html, "2015"); System.out.println(list); }}
2. 用java怎么才能抓取指定的数据
应该是一个网络应用吧,如果本地应用就靠正则表达式和字符串的方法。网络 请求之后也是跟本地一样的处理方法。
3. 怎么java抓取数据并存到数据库中
这类问题最难为人,抓取网络数据 ,本地数据
网络数据妞直接使用网络请求接口请求数据,数据格式是xml还是Jason 按照个子的解析方式解析数据,存入数据库就好
4. 用Java来实现抓取数据的问题
你可以利用jsoup来抓取HTML页面的信息
Document doc = Jsoup.parse(input,"UTF-8","http://www.oschina.net/");
Elements links = doc.select("a[href]"); // 具有 href 属性的链接
Elements pngs = doc.select("img[src$=.png]");// 所有引用 png 图片的元素
Element masthead = doc.select("div.masthead").first();
// 找出定义了 class=masthead 的元素
Elements resultLinks = doc.select("h3.r > a"); // direct a after h3
5. java怎么抓取需要登录后的网站数据
一般爬虫都不会抓登录以后的页面, 如果你只是临时抓某个站,可以模拟登录,然后拿到登录以后的Cookies,再去请求相关的页面。
6. 如何通过Java代码实现对网页数据进行指定抓取
在工程中导入Jsoup.jar包
获取网址url指定HTML或者文档指定的body
获取网页中超链接的标题和链接
获取指定博客文章的内容
获取网页中超链接的标题和链接的结果
7. 如何通过Java代码实现对网页数据进行指定抓取
在工程中导入Jsoup.jar包
获取网址url指定HTML或者文档指定的body
获取网页中超链接的标题和链接
获取指定博客文章的内容
获取网页中超链接的标题和链接的结果