头条极速版问答自动化教程
需求:根据给出的问题,得出最优解,或者给出一段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获取答案