[Java爬虫] 使用 HtmlUnit + Xpath 模拟点击、动态获取信息
发布日期:2021-06-30 16:50:43 浏览次数:3 分类:技术文章

本文共 1266 字,大约阅读时间需要 4 分钟。

一、前言

这里写图片描述

实现动态操作页面,首先我们进入360搜索的页面(百度页面、搜狗页面也行),输入要查询的关键词,这时候页面就会发生变化,我们要获取新的页面的信息。

此时的爬虫就不再是之前的一个页面的信息了:

二、代码

package com.cun.test;import java.util.List;import com.gargoylesoftware.htmlunit.WebClient;import com.gargoylesoftware.htmlunit.html.HtmlElement;import com.gargoylesoftware.htmlunit.html.HtmlInput;import com.gargoylesoftware.htmlunit.html.HtmlPage;/** * 模拟点击,动态获取页面信息 * @author linhongcun * */public class JsoupHttpClient {
public static void main(String[] args) throws Exception { // 创建webclient WebClient webClient = new WebClient(); // 取消 JS 支持 webClient.getOptions().setJavaScriptEnabled(false); // 取消 CSS 支持 webClient.getOptions().setCssEnabled(false); // 获取指定网页实体 HtmlPage page = (HtmlPage) webClient.getPage("https://www.so.com/"); // 获取搜索输入框 HtmlInput input = (HtmlInput) page.getHtmlElementById("input"); // 往输入框 “填值” input.setValueAttribute("larger5"); // 获取搜索按钮 HtmlInput btn = (HtmlInput) page.getHtmlElementById("search-button"); // “点击” 搜索 HtmlPage page2 = btn.click(); // 选择元素 List
spanList=page2.getByXPath("//h3[@class='res-title']/a"); for(int i=0;i

三、效果

这里写图片描述

四、源码与原网页

1、搜索页

①界面

这里写图片描述

②源码

这里写图片描述

2、搜索结果页

①界面

这里写图片描述

②源码

这里写图片描述

转载地址:https://larger5.blog.csdn.net/article/details/79683048 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:使用 SpringBoot 之 JPA 整合 Redis 实现缓存
下一篇:在SpringBoot中使用【阿里云OSS对象存储】存取图片

发表评论

最新留言

不错!
[***.144.177.141]2024年05月02日 09时18分04秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章