Java爬虫使用Selenium+Autoit自动化爬取复杂页面

本文介绍了一种使用Selenium和AutoIt工具批量下载特定网站图片的方法,解决了仅凭图片URL无法直接下载的问题。通过模拟Ctrl+S保存网页操作,并利用AutoIt自定义脚本动态修改文件名及点击保存按钮,成功实现了图片网页的高效下载。

前言:

最近玩爬虫的时候,遇到一个国外的图片网站,具体哪个就不说了,这个站很有意思,即使拿到了图片的链接,用httpclient下载都不行,不是User-Agent的原因,不知道图片服务器的后端有什么校验,没办法了,只能用Selenium上了,js逆向成本太高了(其实是我不擅长0.0)

这个站用的:

下面进入正题:

 既然拿到图片url也不能用httpclient下载了,那我直接下载整个网页怎么样?下载整个网页,图片不就也保存下来了吗?

想到这个办法后我立马动手了起来,保存网页可以鼠标右键另存为,也可以键盘Ctrl+S

当然是键盘Ctrl+S 更简单啦

一、怎么在Selenium里面调用键盘事件Ctrl+S呢?

我试过new 一个Action,调用sendKeys方法,不管用;然后考虑用awt包下的Robot类;

听名字也知道是一个机器人类,里面有很多模拟键盘和鼠标操作的API

二、Ctrl+S之后文件名怎么修改?怎么点击保存?

这就要用到有个AutoIt的工具,这工具可以模拟windows环境下的键鼠操作,但是比Robot类更灵活,Robot类的鼠标移动只能通过像素点来确定移动位置,而AutoIt可以根据预先写好的脚步,自动定位到Windows窗口的按钮、输入框等等

下载地址:https://www.autoitscript.com/site/autoit/downloads/

安装完成之后先打开AutoIt Windows Info

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值