使用selenium+phantomJS实现网页爬取

有些网站反爬虫技术设计的非常好,很难采用WebClient等技术进行网页信息爬取,这时可以考虑采用selenium+phantomJS模拟浏览器(其实是真实的浏览器)的方式进行信息爬取。之前一直使用的selenium操作Firefox浏览器进行爬取,但是需要安装并打开firefox浏览器,实际操作中不方便配置且占用大量内存。今日发现网上介绍可以采用phantomJS(无界面浏览器),经测试,果然可以达到目的,只是会出现一个控制台,并不影响整体效果,所以将其记录下来,以方便以后使用。
第一步:下载selenium-dotnet,选择相应的版本并引用。
第二步:下载phantomjs-2.1.1-windows.zip(http://phantomjs.org/download.html),解压下载的文件,将phantomjs.exe文件拷贝到系统目录或者项目的exe目录下。
第三步:通过调用phantomjs爬取网页信息,代码如下:
1、创建driver实例
static IWebDriver GetPhantomJSDriver()
{
     return new OpenQA.Selenium.PhantomJS.PhantomJSDriver();
}

2、跳转到URL

/// <summary>
/// 跳转URL
/// </summary>
/// <param name="url"></param>
static bool Navigate(string url)
{
	try
	{
		driver = driver ?? GetPhantomJSDriver();
		if (driver == null)
		{
			return false;
		}
	}
	catch (WebDriverException e)
	{
		return false;
	}
	driver .Navigate().GoToUrl(url);
	return true;
}

 3、之后就可以解析获取想要的信息。

posted @ 2016-03-14 10:24  shoufengwei  阅读(2028)  评论(0编辑  收藏  举报