最近项目需要用到爬虫,使用的Jsoup,但是对应的数据是根据查询得到的,JAVA中如何触发获取呢。
JAVA爬虫模拟执行页面点击事件,需引入依赖
<dependency>
<groupId>net.sourceforge.htmlunit</groupId>
<artifactId>com.springsource.com.gargoylesoftware.htmlunit</artifactId>
<version>2.6.0</version>
</dependency>
// 获取指定网页实体
HtmlPage page = getHtmlPage("https://www.baidu.com/");
System.out.println(page.asText()); //asText()是以文本格式显示
System.out.println(page.asXml()); //asXml()是以xml格式显示
// 获取搜索输入框
HtmlInput input = page.getHtmlElementById("kw");
// 往输入框 “填值”
input.setValueAttribute("绿林寻猫");
// 获取搜索按钮
HtmlInput btn = page.getHtmlElementById("su");
// “点击” 搜索
HtmlPage page2 = btn.click();
// 选择元素
List<HtmlElement> spanList=(List<HtmlElement>)page2.getByXPath("//h3[@class='t']/a");
for(int i=0;i<spanList.size();i++) {
// 输出新页面的文本
System.out.println(i+1+"、"+spanList.get(i).asText());
}
点下这个按钮,拿到跳转到的页面的url直接用jsoup爬这个url就ok了
看下源代码,直接找到form的id,然后直接 getelementbyid(formid).submit
用 selenium java