[Selenium] 通过Java+Selenium查询文章质量分

系列文章目录

通过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!");

    }

总结

单篇查询文章质量分至此结束

评论 29
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

青花科技

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值