首页 > 基础资料 博客日记
[Selenium] 通过Java+Selenium查询文章质量分
2023-07-24 14:02:50基础资料围观250次
Java资料网推荐[Selenium] 通过Java+Selenium查询文章质量分这篇文章给大家,欢迎收藏Java资料网享受知识的乐趣
系列文章目录
通过Java+Selenium查询文章质量分
通过Java+Selenium查询某个博主的Top40文章质量分
文章目录
前言
大家好,我是青花,本篇给大家分享一下《通过Java+Selenium查询文章质量分》。
一、环境准备
浏览器:本篇使用的是Chrome
Chrome浏览器版本:113
Chrome驱动版本:113(Java爬虫第一篇)
Java版本:Jdk1.8
selenium版本: 4.9.1
二、查询文章质量分
2.1、修改pom.xml配置
<!-- https://mvnrepository.com/artifact/org.jsoup/jsoup -->
<dependency>
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>1.11.3</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>4.9.1</version>
</dependency>
2.2、配置Chrome驱动
public final static String CHROMEDRIVERPATH = "/Users/apple/Downloads/chromedriver_mac64/chromedriver";
System.setProperty("webdriver.chrome.driver", SeleniumUtil.CHROMEDRIVERPATH );// chromedriver localPath
2.3、引入浏览器配置
WebDriver driver;
ChromeOptions chromeOptions = new ChromeOptions();
2.4、设置无头模式
chromeOptions.addArguments('--headless')
chromeOptions.addArguments("--remote-allow-origins=*");
2.5、启动浏览器实例,添加配置信息
driver = new ChromeDriver(chromeOptions);
2.6、访问质量分地址
driver.get('https://www.csdn.net/qc')
2.7、窗口设置
chromeOptions.addArguments("–no-sandbox"); //--start-maximized
2.8、定位到输入框并输入博文地址
//定位到输入框
WebElement inputSelectE = driver.findElement(By.cssSelector("input.el-input__inner"));
//输入文字地址
inputSelectE.sendKeys(blog_url);
2.9、定位到查询按钮并点击
//定位查询按钮
WebElement qcSelectE = driver.findElement(By.cssSelector("div.trends-input-box-btn"));
//点击查询按钮
qcSelectE.click();
2.10、强制等待1s,并转换为jsoup文档处理
SeleniumUtil.sleep(1000);
获取右边区域 -- 文章质量分结果区域
WebElement mainSelectE = driver.findElement(By.cssSelector("div.csdn-body-right"));
//转化为Jsoup文档处理
Document doc = Jsoup.parse( mainSelectE.getAttribute("outerHTML") );
2.11、获取博文标题
String title = doc.select("span.title").text();
2.12、获取博文作者和发布时间
String posttime = doc.select("span.name").text();
2.13、获取博文质量分
String score = doc.select("p.img").text();
2.14、获取博文质量分建议
String remark = doc.select("p.desc").text();
2.15、打印结果
log.info("文章标题:{} , 作者和发布时间:{} , 质量分:{} , 博文建议:{}" , title , posttime , score , remark );
2.16、效果
文章标题:《项目实战》构建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!");
}
总结
单篇查询文章质量分至此结束
文章来源:https://blog.csdn.net/s445320/article/details/131347069
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!
标签: