使用webmagic爬取网页信息以及通过selenium进行页面元素操作

使用webmagic爬取网页信息以及通过selenium进行页面元素操作前言本篇文章主要讲解如何使用 webmagic 技术来实现网页的爬取 以及使用 selenium 操作页面元素 实现点击 输入事件所用技术 1 webmagic 添加需要爬取的 urlSpider create newMyProcess addUrl https www cnblogs com thread 5 run 在 process 里面抓取符合条件

作者专注于Java、架构、Linux、小程序、爬虫、自动化等技术。 工作期间含泪整理出一些资料,微信搜索【程序员高手之路】,回复 【java】【黑客】【爬虫】【小程序】【面试】等关键字免费获取资料。技术交流、项目合作可私聊。 

目录

前言

所用技术

1.webmagic

2.selenium


前言

网上的爬虫、自动化一般都是使用python来做的;

身为java程序员,当然要不甘示弱!

所以就写了java爬虫、自动化系列文章,供众多java程序员参考!

首先看一下自动化操作百度首页的图像,模拟输入、点击事件(源码地址:做自动化必备工作以及hello world代码):

使用webmagic爬取网页信息以及通过selenium进行页面元素操作

所用技术

1.webmagic

添加需要爬取的url

Spider.create(new MyProcessor()).addUrl("https://www.cnblogs.com/").thread(5).run();

在process里面抓取符合条件的内容 

 public void process(Page page) {
        //判断链接是否符合http://www.cnblogs.com/任意个数字字母-/p/7个数字.html格式
        if(!page.getUrl().regex("http://www.cnblogs.com/[a-z 0-9 -]+/p/[0-9]{7}.html").match()){
           //加入满足条件的链接
            page.addTargetRequests(
                    page.getHtml().xpath("//*[@id=\"post_list\"]/div/div[@class='post_item_body']/h3/a/@href").all());

        }else{
            *[@id="post_list"]/div[5]/div[2]/h3/a
            //获取页面需要的内容
            System.out.println("抓取的内容:"+
                    page.getHtml().xpath("//*[@id=\"Header1_HeaderTitle\"]/text()").get()
            );
            count ++;
        }
    }

2.selenium

以今日头条为例对页面元素(“关注”按钮)进行点击

设置驱动

System.setProperty("webdriver.chrome.driver", "CHROMEPATH/chromedriver.exe"); 

初始化driver

WebDriver driver = new ChromeDriver();

进入页面

driver.get("https://www.toutiao.com/c/user/relation//?tab=followed#mid=");

 获取所需元素

WebElement submit = li.findElement(By.cssSelector(".submit"));

 点击

submit.click();

作者专注于Java、架构、Linux、小程序、爬虫、自动化等技术。 工作期间含泪整理出一些资料,微信搜索【程序员高手之路】,回复 【java】【黑客】【爬虫】【小程序】【面试】等关键字免费获取资料。技术交流、项目合作可私聊。

使用webmagic爬取网页信息以及通过selenium进行页面元素操作

使用webmagic爬取网页信息以及通过selenium进行页面元素操作

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/199495.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月20日 下午12:52
下一篇 2026年3月20日 下午12:52


相关推荐

  • python nonlocal 什么意思_python nonlocal的理解使用

    python nonlocal 什么意思_python nonlocal的理解使用nonlocal 可以将一个变量声明为非本地变量 在 python 的 lru cache 看到了使用 defdecorator func a 1defwrapper args kwargs nonlocalaa 1returnfunc returnwrappe 实例中 当 a 变量是不可变类型时 因为包装函数引用了 a 装饰器执行结束 在包装函数里改变 a 的值 需要

    2025年9月4日
    4
  • java程序 水仙花数_Java小程序之水仙花数

    java程序 水仙花数_Java小程序之水仙花数水仙花数 实验目的 1 掌握 Java 程序的编译过程 以及 Java 程序面向对象的编写方法 2 掌握类的定义与声明 3 掌握对象的使用与创建 4 掌握构造方法的格式及使用 5 理解并熟练运用 ifelse 语句实现程序所要求的条件 实验原理 1 依次对一个三位数的每一位数的平方求和 百位数可通过除 100 取整得到 十位数可通过除 10 取整得到 2 三位数中的最小数是 101 最大数是 999 所以水仙花数必然存在于 101

    2026年3月18日
    2
  • easyUI的时间控件[通俗易懂]

    easyUI的时间控件[通俗易懂]以前没怎么用过easyUI,今天用到时间控件,又了解到了一点东西时间控件的样式<inputclass="easyui-datetimebox"id="starttime"name="starttime"style="width:150px"/>然后通过js动态的添加的时候,使用append添加container.append(‘开始时间<inputclass="easyui-d

    2022年5月23日
    76
  • 一个简单的WPF字体选择器实现

    很久没有写博客了。这是放暑假中的第一篇博客,以后会多多更新!!!这就是我写的一个字体选择器,界面如下:本程序用到的技术比较简单,仅仅是用了Font类的几个方法和数据绑定而已。首先建一个四行两列

    2021年12月27日
    41
  • 在ubuntu系统下安装python

    在ubuntu系统下安装python

    2021年10月6日
    79
  • Meta收购AI智能体社交平台Moltbook

    Meta收购AI智能体社交平台Moltbook

    2026年3月16日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号