行业知识
[Selenium] 通过Java+Selenium查询文章质量分
2026-10-20 17:21:43
来源:互联网转载
系列文章目录
通��Java+Selenium查询文章质量分
通过Java+Selenium查询某个博主的Top40文章质量分
文章目录
- 系列文章目录
- 前言
- 一、环境准备
- 二、查询文章质量分
- 2.1、修改pom.xml配置
- 2.2、配置Chrome驱动
- 2.3、引入浏览器配置
- 2.4、设置无头模式
- 2.5、启动浏览器实例,添加配置信息
- 2.6、访问质量分地址
- 2.7、窗口设置
- 2.8、定位到输入框并输入博文地址
- 2.9、定位到查询按钮并点击
- 2.10、强制等待1s,并转换为jsoup文档处理
- 2.11、获取博文标题
- 2.12、获取博文作者和发布时间
- 2.13、获取博文质量分
- 2.14、获取博文质量分建议
- 2.15、打印结果
- 2.16、效果
- 三、代码
- 总结
前言
大家好,我是青花,本篇给大家分享一下《通过Java+Selenium查询文章质量分》。
一、环境准备
浏览器:本篇使用的是Chrome
Chrome浏览器版本:113
Chrome驱动版本:113(Java爬虫第一篇)
Java版本:Jdk1.8
selenium版本: 4.9.1
二、查询文章质量分
2.1、修改pom.xml配置
org.jsoup jsoup 1.11.3 org.seleniumhq.selenium selenium-java 4.9.1
2.2、配置Chrome驱动
public final static String CHROMEDRIVERPATH = "/Users/apple/Downloads/chromedriver_mac64/chromedriver";
System.setProperty("webdriver.chrome.driver", SeleniumUtil.CHROMEDRIVERPATH );// chromedriver localPath2.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-maximized2.8、定位到输入框并输入博文地址
//定位到输入框 WebElement inputSelectE = driver.findElement(By.cssSelector("input.el-input__inner")); //输入文字地址 inputSelectE.sendKeys(blog_url);2.9、定位到查询按钮并点击
//定位查询按钮 WebElement qcSelectE = driver.findElement(By.cssSelector("p.trends-input-box-btn")); //点击查询按钮 qcSelectE.click();2.10、强制等待1s,并转换为jsoup文档处理
SeleniumUtil.sleep(1000); 获取右边区域 -- 文章质量分结果区域 WebElement mainSelectE = driver.findElement(By.cssSelector("p.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("p.trends-input-box-btn")); //点击查询按钮 qcSelectE.click(); SeleniumUtil.sleep(1000); WebElement mainSelectE = driver.findElement(By.cssSelector("p.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!"); }总结
单篇查询文章质量分至此结束