爬虫自动滚动下一页JS控制

在写爬虫程序的时候,会遇到一些特殊情况,比如,爬取某些网页的时候,网页当前页面是不存在下一页的按钮,当你将下拉框拉到底部时,JS会自动加载下一页的内容,这种情况下,调用爬虫的话,无法通过获取下一页的按钮标签点击下一页来进入下一页,例如:推特。所以这篇博文就是解决此问题的。
需要jar包:selenium

static {
		System.setProperty("webdriver.chrome.driver", "chromedriver.exe");
	}

	public static void main(String[] args) throws IOException, InterruptedException {
	
		 	String url = "xxxxx";	//爬取的网址
			WebDriver driver = new ChromeDriver();	//这里用谷歌驱动爬虫,也可以用Firefox或者jsoup
			driver.get(url);
			//for循环控制自动滚动下一页的页数,我这里也10页为例子
			for (int j = 0; j < 10; j++) {
				//调用方法滚动下一页
				scrollDown(driver);
				try {
					//这里每页停留两秒,可以自行设置
					Thread.sleep(2000);
				} catch (InterruptedException e) {
					e.printStackTrace();
				}
				//打印每一页的源码
			System.out.println(driver.getPageSource());
		}
	}

	//调用JS滚动下一页
	public static void scrollDown(WebDriver driver) {
		JavascriptExecutor js = (JavascriptExecutor) driver;
		js.executeScript("scrollTo(0,10000)");
	}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值