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

这篇具有很好参考价值的文章主要介绍了[Selenium] 通过Java+Selenium查询文章质量分。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

系列文章目录

通过Java+Selenium查询文章质量分
通过Java+Selenium查询某个博主的Top40文章质量分


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


前言

大家好,我是青花,本篇给大家分享一下《通过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://www.toymoban.com/news/detail-498409.html

到了这里,关于[Selenium] 通过Java+Selenium查询文章质量分的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【python】我用python写了一个可以批量查询文章质量分的小项目(纯python、flask+html、打包成exe文件)

    web 效果预览: 先去质量查询地址:https://www.csdn.net/qc 输入任意一篇文章地址进行查询,同时检查页面,在Network选项下即可看到调用的API的请求地址、请求方法、请求头、请求体等内容: 请求头里面很多参数是不需要的,我们用 ApiPost 这个软件来测试哪些是必要参数。 经过

    2024年02月13日
    浏览(38)
  • 「为什么代码要整洁?」——代码整洁度对于项目质量的影响,让我们通过这边文章来教你js和ts的代码整洁技巧,让你的项目更出众

    为什么代码要整洁? 代码质量与整洁度成正比。有的团队在赶工期的时候,不注重代码的整洁,代码写的越来越糟糕,项目越来越混乱,生产力也跟着下降,那就必须找更多人来提高生产力,开发成本越来越高。 整洁的代码是怎样的? 清晰表达意图、消除重复、简单抽象、

    2024年02月07日
    浏览(65)
  • ARM Coresight 系列文章 8 - ARM Coresight 通过 APBIC 级联使用

    请阅读 【ARM Coresight SoC-400/SoC-600 专栏导读】 上篇文章:ARM Coresight 系列文章 7 - ARM Coresight 通过 AHB-AP 访问 异构 cpu 内部 coresight 组件 APBIC 可以连接一个或者多个APB BUS masters, 例如连接一个 APB-AP 组件和带有 APB 接口的 Processor, APBIC 通常会带有一个ROM Table,位于0x0000_0000处。

    2024年02月16日
    浏览(43)
  • ARM Coresight 系列文章 7 - ARM Coresight 通过 AHB-AP 访问 cpu 内部 coresight 组件

    请阅读 【ARM Coresight SoC-400/SoC-600 专栏导读】 如下图所示, 如果A78想去访问M33的内部 coresight 组件 ETM,需要要怎么做 ? 答案也正是在图中,首先A78 通过AXI 互联,接入到 APBIC 的 slave port,再通过APBIC 的 master 送出,而APBIC中的master port 可以 master 的身份来访问对应的 AHB-AP上,

    2024年02月15日
    浏览(40)
  • 解锁高质量文档转换:通过Java应用程序免费将PDF转换为XPS

    在当今数字时代,文档转换已经成为我们日常生活中不可或缺的一部分。然而,不是所有的文件格式都是平等无差的,在与他人共享文档时可能会遇到兼容性问题。这就是我们需要进行文件格式转换的原因,而将PDF转换为XPS是一种受欢迎的转换选择。如果你正在寻找一种使用

    2024年02月11日
    浏览(76)
  • Java基础/进阶/电商系统实战系列文章汇总

    目录 📢前言 ✨ 专栏介绍 ✨ 专栏特色​ ✨ 适合人群 

    2024年02月02日
    浏览(47)
  • DevOps系列文章之 java调用python脚本

    在java类中直接执行python语句 在java类中直接调用本地python脚本 使用Runtime.getRuntime()执行python脚本文件(推荐) 调用python脚本中的函数 官网地址 首页 | (jython.org) Jython项目提供了Java中的Python实现, 为Python提供了在JVM上运行的好处,并可以访问用Java编写的类。 当前版本(Jyt

    2024年02月14日
    浏览(44)
  • DevOps系列文章 之 Java使用jgit管理git仓库

    最近设计基于gitops新的CICD方案,需要通过java读写git仓库,这里简单记录下。 在jgit中,存在最核心的三个组件:Git类,Repository类。Git类中包含了push commit之类的常见git操作,而Repository则实现了仓库的初始化和基本的管理功能。 Git类的实例都会持有一个Repository实例。 Repositor

    2024年02月12日
    浏览(34)
  • Java之SpringCloud Alibaba【一】【Nacos一篇文章精通系列】

    Java之SpringCloud Alibaba【一】【Nacos一篇文章精通系列】 跳转 Java之SpringCloud Alibaba【二】【微服务调用组件Feign】 跳转 Java之SpringCloud Alibaba【三】【微服务Nacos-config配置中心】 跳转 Java之SpringCloud Alibaba【四】【微服务 Sentinel服务熔断】 跳转 Java之SpringCloud Alibaba【五】【微服务

    2024年02月11日
    浏览(51)
  • 计算机系大学生,可以通过Java做什么副业?这篇文章给你答案!

    计算机系科班出身的学生,有什么能做的副业?最佳答案就是做自己专业对口,且促进技能的事,**敲代码做课设!**这篇文章就来分享下自己的副业之旅(仅限计算机相关专业哦) 发现副业机会 在我大三时无意将Javaweb作业分享出去,收到了不少回复,很多人问我可以定做课

    2024年02月06日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包