大家好,我是青花,本篇给大家分享一下《通过Java+Selenium查询文章质量分》。
浏览器:本篇使用的是Chrome
Chrome驱动版本:113
Java版本:Jdk1.8
selenium版本: 4.9.1
<dependency>
<groupId>org.jsoupgroupId>
<artifactId>jsoupartifactId>
<version>1.11.3version>
dependency>
<dependency>
<groupId>org.seleniumhq.seleniumgroupId>
<artifactId>selenium-javaartifactId>
<version>4.9.1version>
dependency>
public final static String CHROMEDRIVERPATH = "/Users/apple/Downloads/chromedriver_mac64/chromedriver";
System.setProperty("webdriver.chrome.driver", SeleniumUtil.CHROMEDRIVERPATH );// chromedriver localPath
WebDriver driver;
ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.addArguments('--headless')
chromeOptions.addArguments("--remote-allow-origins=*");
driver = new ChromeDriver(chromeOptions);
driver.get('https://www.csdn.net/qc')
chromeOptions.addArguments("–no-sandbox"); //--start-maximized
//定位到输入框
WebElement inputSelectE = driver.findElement(By.cssSelector("input.el-input__inner"));
//输入文字地址
inputSelectE.sendKeys(blog_url);
//定位查询按钮
WebElement qcSelectE = driver.findElement(By.cssSelector("div.trends-input-box-btn"));
//点击查询按钮
qcSelectE.click();
SeleniumUtil.sleep(1000);
获取右边区域 -- 文章质量分结果区域
WebElement mainSelectE = driver.findElement(By.cssSelector("div.csdn-body-right"));
//转化为Jsoup文档处理
Document doc = Jsoup.parse( mainSelectE.getAttribute("outerHTML") );
String title = doc.select("span.title").text();
String posttime = doc.select("span.name").text();
String score = doc.select("p.img").text();
String remark = doc.select("p.desc").text();
log.info("文章标题:{} , 作者和发布时间:{} , 质量分:{} , 博文建议:{}" , title , posttime , score , remark );
文章标题:《项目实战》构建SpringCloud alibaba项目(三、构建服务方子工程store-user-service) , 作者和发布时间:- 青花锁 · 2023-06-21 18:20:46 - , 质量分:86 , 博文建议:文章质量良好
/**
* 获取文章质量分数据
* @throws IOException
*/
void csdnQcBySelenium() {
log.info("csdnQcBySelenium start!");
String blog_url = "https://blog.csdn.net/s445320/article/details/131332238";
System.setProperty("webdriver.chrome.driver", SeleniumUtil.CHROMEDRIVERPATH );// chromedriver localPath
ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.addArguments("--remote-allow-origins=*");
chromeOptions.addArguments("–no-sandbox"); //--start-maximized
WebDriver driver = new ChromeDriver(chromeOptions);
driver.get("https://www.csdn.net/qc");
SeleniumUtil.sleep(1000);
//定位到输入框
WebElement inputSelectE = driver.findElement(By.cssSelector("input.el-input__inner"));
//输入文字地址
inputSelectE.sendKeys(blog_url);
SeleniumUtil.sleep(100);
//定位查询按钮
WebElement qcSelectE = driver.findElement(By.cssSelector("div.trends-input-box-btn"));
//点击查询按钮
qcSelectE.click();
SeleniumUtil.sleep(1000);
WebElement mainSelectE = driver.findElement(By.cssSelector("div.csdn-body-right"));
//转化为Jsoup文档处理
Document doc = Jsoup.parse( mainSelectE.getAttribute("outerHTML") );
//获取文章标题
String title = doc.select("span.title").text();
//获取作者和发布时间
String posttime = doc.select("span.name").text();
//获取质量分
String score = doc.select("p.img").text();
//获取博文质量分建议
String remark = doc.select("p.desc").text();
//打印结果
log.info("文章标题:{} , 作者和发布时间:{} , 质量分:{} , 博文建议:{}" , title , posttime , score , remark );
driver.quit();
log.info("csdnQcBySelenium end!");
}
单篇查询文章质量分至此结束