国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C#使用Selenium+PhantomJS抓取數據

2019-10-29 21:13:20
字體:
來源:轉載
供稿:網友

手頭項目需要抓取一個用js渲染出來的網站中的數據。使用常用的httpclient抓回來的頁面是沒有數據。上網百度了一下,大家推薦的方案是使用PhantomJS。PhantomJS是一個沒有界面的webkit瀏覽器,能夠和瀏覽器效果一致的使用js渲染頁面。Selenium是一個web測試框架。使用Selenium來操作PhantomJS絕配。但是網上的例子多是Python的。無奈,下載了python按照教程搞了一下,卡在了Selenium的導入問題上。遂放棄,還是用自己慣用的c#吧,就不信c#上沒有。經過半個小時的折騰,搞定(python折騰了一個小時)。記錄下這篇博文,讓我等搞c#的新手能用上PhantomJS。

第一步:打開visual studio 2017 新建一個控制臺項目,打開nuget包管理器。

C#,抓取,數據,phantomjs抓取數據,selenium,phantomjs

第二部:搜索Selenium,安裝Selenium.WebDriver。注意:如果要使用代理的話最好安裝3.0.0版本。

C#,抓取,數據,phantomjs抓取數據,selenium,phantomjs

第三步:寫下如下圖所示的代碼。但是執行的時候會報錯。原因是找不到PhantomJS.exe。這時候可以去下載一個,也可以繼續看第四步。

using OpenQA.Selenium;using OpenQA.Selenium.PhantomJS;using System;namespace ConsoleApp1{ class Program { static void Main(string[] args) {  var url = "http://www.baidu.com";  IWebDriver driver = new PhantomJSDriver(GetPhantomJSDriverService());  driver.Navigate().GoToUrl(url);  Console.WriteLine(driver.PageSource);  Console.Read(); } private static PhantomJSDriverService GetPhantomJSDriverService() {  PhantomJSDriverService pds = PhantomJSDriverService.CreateDefaultService();  //設置代理服務器地址  //pds.Proxy = $"{ip}:{port}";   //設置代理服務器認證信息  //pds.ProxyAuthentication = GetProxyAuthorization();  return pds; } }}

C#,抓取,數據,phantomjs抓取數據,selenium,phantomjs

第四步:打開nuget安裝Selenium.PhantomJS.WebDriver包。

C#,抓取,數據,phantomjs抓取數據,selenium,phantomjs

第五步:運行。可以看到phantomjs.exe被自動下載了。

C#,抓取,數據,phantomjs抓取數據,selenium,phantomjs

好了,這樣就可以開始你的數據抓取大業了。

以上就是本文的全部內容,希望本文的內容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持VEVB武林網!


注:相關教程知識閱讀請移步到c#教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 阿鲁科尔沁旗| 松阳县| 咸丰县| 博客| 晴隆县| 家居| 二连浩特市| 二连浩特市| 酉阳| 铜陵市| 资阳市| 维西| 南华县| 冕宁县| 黄石市| 永平县| 微山县| 班玛县| 松原市| 景泰县| 泰宁县| 商洛市| 五台县| 宜昌市| 陈巴尔虎旗| 视频| 曲松县| 衡阳县| 江津市| 绵竹市| 冷水江市| 安多县| 长宁区| 乐东| 布拖县| 龙胜| 曲阜市| 繁峙县| 平乡县| 团风县| 大足县|