zhong0613 2019-03-06 12:18 采纳率: 0%
浏览 1779

java爬虫webMagic用正则表达式匹配a标签的onclick里面的值

java爬虫webMagic用正则表达式匹配a标签的onclick里面queryArticleByCondition方法里的this后面的值,就是一个URL地址

<a style="cursor:pointer" onclick="queryArticleByCondition(this,'/liuyanggov/dwzt/ggzyjyzx/jyxx96/fjsz34/zbgg97/2a7bc3f8-3.html')" tagname="/liuyanggov/dwzt/ggzyjyzx/jyxx96/fjsz34/zbgg97/2a7bc3f8-3.html">下一页</a>
  • 写回答

1条回答

  • 毕小宝 博客专家认证 2019-03-06 13:44
    关注

    可以定义一个Selector类筛选a标签,参考demo:

    public class LinksSelector extends BaseElementSelector {
        public LinksSelector() {
        }
    
        @Override
        public String select(Element element) {
            throw new UnsupportedOperationException();
        }
    
        @Override
        public List<String> selectList(Element element) {
    
            Elements elements = element.select(LinkTag.HREF.toString()+LinkTag.NOTNA.toString());
            List<String> links = new ArrayList(elements.size());
            Iterator var4 = elements.iterator();
    
            while (var4.hasNext()) {
                Element element0 = (Element) var4.next();
                if (!StringUtil.isBlank(element0.baseUri())) {
                    links.add(element0.attr("abs:href"));
                } else {
                    links.add(element0.attr("href"));
                }
            }
    
            return links;
        }
    
        @Override
        public Element selectElement(Element element) {
            throw new UnsupportedOperationException();
        }
    
        @Override
        public List<Element> selectElements(Element element) {
            throw new UnsupportedOperationException();
        }
    
        @Override
        public boolean hasAttribute() {
            return true;
        }
    }
    
    评论

报告相同问题?

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作