0
点赞
收藏
分享

微信扫一扫

头条极速版问答自动化教程

晗韩不普通 2022-05-01 阅读 52

头条极速版问答自动化教程

需求:根据给出的问题,得出最优解,或者给出一段100字的优质答案。

技术:nlp 爬虫

在这里插入图片描述
得出三个解,用list装住。

String url = "https://m.jingyanlib.com/home/EsArticle/" +
                "searchWenDaData?page=1&count=20&type=undefined&title=" +q;
        String url2 = "https://m.jingyanlib.com/resultpage?id=";
        String xpath2 = "//*[@id=\"app\"]/div/div/div/div/div[4]";
        String str1 = "声明:本文内容及图片来源于读者投稿,本网站无法甄别是否为投稿用户创作以及文章的准确性,本站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。请将本侵权页面网址发送邮件到zhongyue_yx1@sina.com,我们会及时做删除处理。";
        String str2 = "举报/反馈";
        Map<String, String> maps = new HashMap<>();
        String result = YhHttpUtils.get(url,0, maps);
        System.out.println(result);
        List<String> ids = JsonPath.read(result, "$..id");
        WebDriver webDriver = null;
        List<String> h = new ArrayList<>();
        for (int i = 0 ; i < 3; i++){
            String url3 = url2 + ids.get(i);
            webDriver = browserUtil.initBrowserByNoGPUAndAgent(url3);
            List<String[]> list2 = pachongUtil.getSeleniumByXpath(webDriver, new String[]{xpath2});
            if(list2.size() > 0 ){
                System.out.println(list2.get(0)[0]);
                String str3 = list2.get(0)[0].replaceAll(str1,"").replaceAll(str2,"");
                h.add(str3);
            }
        }
        browserUtil.quit(webDriver);

首先用get方法获取json,再用JsonPath解析获得id,由于详情页全是js加密,我们就用Selenium,再用Xpath获取答案

举报

相关推荐

0 条评论