正则表达式爬虫经典例子_Android, Python及开发编程讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  Android, Python及开发编程讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 3788 | 回复: 0   主题: 正则表达式爬虫经典例子        下一篇 
yangmu
注册用户
等级:中尉
经验:480
发帖:31
精华:0
注册:2012-9-19
状态:离线
发送短消息息给yangmu 加好友    发送短消息息给yangmu 发消息
发表于: IP:您无权察看 2012-9-19 17:36:45 | [全部帖] [楼主帖] 楼主

/**

     *

     * @param s

     * @return 获得网页标题

     */

public String getTitle(final String s)

{

    String regex;

    String title = "";

    final List<String> list = new ArrayList<String>();

    regex = "<title>.*?</title>";

    final Pattern pa = Pattern.compile(regex, Pattern.CANON_EQ);

    final Matcher ma = pa.matcher(s);

    while (ma.find())

    {

    list.add(ma.group());

    }

    for (int i = 0; i < list.size(); i++)

    {

    title = title + list.get(i);

    }

    return outTag(title);

}

/**

     *

     * @param s

     * @return 获得链接

     */

public List<String> getLink(final String s)

{

    String regex;

    final List<String> list = new ArrayList<String>();

    regex = "<a[^>]*href=(\"([^\"]*)\"|\'([^\']*)\'|([^\\s>]*))[^>]*>(.*?)</a>";

    final Pattern pa = Pattern.compile(regex, Pattern.DOTALL);

    final Matcher ma = pa.matcher(s);

    while (ma.find())

    {

    list.add(ma.group());

    }

    return list;

}

/**

     *

     * @param s

     * @return 获得脚本代码

     */

public List<String> getScript(final String s)

{

    String regex;

    final List<String> list = new ArrayList<String>();

    regex = "<script.*?</script>";

    final Pattern pa = Pattern.compile(regex, Pattern.DOTALL);

    final Matcher ma = pa.matcher(s);

    while (ma.find())

    {

    list.add(ma.group());

    }

    return list;

}

/**

     *

     * @param s

     * @return 获得CSS

     */

public List<String> getCSS(final String s)

{

    String regex;

    final List<String> list = new ArrayList<String>();

    regex = "<style.*?</style>";

    final Pattern pa = Pattern.compile(regex, Pattern.DOTALL);

    final Matcher ma = pa.matcher(s);

    while (ma.find())

    {

    list.add(ma.group());

    }

    return list;

}




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论