golang中使用selenium进行爬虫

selenium本来是用来做自动测试,但是因为可以模拟浏览器操作,所以也可以用来做爬虫(尤其是一些比较变态登陆网站,又不会模拟登陆的),只是速度会比较慢。

转载请注明出处:http://www.cnblogs.com/SSSR/p/6390229.html

经验总结:

1、火狐浏览器在运行较长时间后,会导致内存泄露,但是Google浏览器不会,所以如果长时间运行还是使用Google浏览器比较好。

2、截图方面选择火狐浏览器,Google浏览器无法截全部页面,即使设置了页面大小也不行。

3、Firefox与selenium之间有版本对应关系。2.53对应于46以下。

golang中的项目目前发现了三个比较好的。

需要文件:chromedriver.exe,selenium-server-standalone-2.53.0.jar,geckodriver.exe

1.https://github.com/tebeka/selenium和https://github.com/bunsenapp/go-selenium,这两个都需要在Java先运行selenium-server-standalone-2.53.0.jar文件(在cmd中:java -jar selenium-server-standalone-2.53.0.jar)。还需要将chromedriver.exe和geckodriver.exe加到PATH中。

2.https://github.com/fedesog/webdriver 这个项目不需要后台运行selenium,但是在使用Firefox时,需要从selenium-server-standalone-2.53.0.jar中提取.xpi文件。chromedriver.exe也是必须的。

但是这个项目的作者已经不再维护了,所以使用的时候可能会遇到问题。如果不需要截图,只是简单的爬虫,建议使用这个项目。

原文地址:https://www.cnblogs.com/SSSR/p/6390229.html