想要爬取的网站需要登录时,可以用Selenium模拟浏览器登陆,获取cookie,设置到webMagic的site中。
使用selenium,配置maven依赖
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>2.48.0</version>
</dependency>
注意:selenium 3.0以上版本需要java8。
模拟浏览器登陆,需要浏览器驱动,我使用的是Chrome,驱动Chromedriver下载地址:http://chromedriver.storage.googleapis.com/index.html。
注意Chromedriver和Chrome对应版本。
下载之后配置Chromedriver的环境变量,不配置也可以在代码里注册驱动。
System.setProperty("webdriver.chrome.driver",
"D:/chromedriver/chromedriver.exe"); // 注册驱动
然后打开浏览器,设置用户名,密码进行登陆。
完整代码
package us.codecraft.webmagic.processor.example;
import java.util.Set;
import