Selenium之爬虫与反爬

最近遇到一个需求------爬取携程网站中的酒店详情。

具体如下截图:

Selenium之爬虫与反爬_第1张图片

凡是有过想爬取携程酒店信息的同学,估计都时被携程的反爬技术所困扰。参数OCEANBALL,ELEVEN的加密解密,就够大家琢磨十天半个月了,在碰上个没有JS基础的同学,基本就可以直接放弃了。最关键的是,携程的加密方法,每隔一段时间就会改变,所以即便碰见了爬虫高手,也需要不断的耗费时间对抗携程的反爬,根本无法应用在实际生产中。所以直接通过解密参数直接通过api连接的方式,应该可以放弃了。如果仅当学习,那么可以深度研究下携程的反爬。

既然想运用在实际生产中,又要考虑到效率问题,在征得甲方爸爸的意见后,我采用了一个更加简便的方法。直接使用selenium+chromeDriver/GeckoDriver/FirefoxDriver来进行数据获取。

但是在实际运行过程中,就发现了一个很奇怪的现象,携程的反爬着实令人抓不到头脑。因为在测试过程中,有时候能够获取到正确的数据,有时候,就无法获取正确的数据(数据被下毒),有的时候,直接就被跳转到登录页面,假数据都不给你。为了能够研究出如何才能获取到数据,苦逼的开启了测试模式。

测试第一版:

1- selenium3 + chrome(80版本)

System.setProperty("webdriver.chrome.driver","C:\\Program Files (x86)\\Google\\Chrome\\Application\\chromedriver.exe");
ChromeOptions options = new ChromeOp

你可能感兴趣的:(selenium,Java,Selenium4,爬虫)