欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#使用Selenium+PhantomJS抓取數(shù)據(jù)

 更新時間:2017年02月21日 15:52:16   作者:挖寶居士  
本文主要介紹了C#使用Selenium+PhantomJS抓取數(shù)據(jù)的方法步驟,具有很好的參考價值,下面跟著小編一起來看下吧

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

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

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

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

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;
 }
 }
}

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

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

好了,這樣就可以開始你的數(shù)據(jù)抓取大業(yè)了。

以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持腳本之家!

相關文章

  • C#操作注冊表的方法

    C#操作注冊表的方法

    這篇文章介紹了C#操作注冊表的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-05-05
  • C#使用Parallel類進行多線程編程實例

    C#使用Parallel類進行多線程編程實例

    這篇文章主要介紹了C#使用Parallel類進行多線程編程的方法,實例分析了Parallel類的相關使用技巧,需要的朋友可以參考下
    2015-06-06
  • C#/VB.NET 給Excel添加、刪除數(shù)字簽名的方法

    C#/VB.NET 給Excel添加、刪除數(shù)字簽名的方法

    這篇文章主要介紹了C#/VB.NET 給Excel添加、刪除數(shù)字簽名的方法,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-11-11
  • C#實現(xiàn)子窗體與父窗體通信方法實例總結

    C#實現(xiàn)子窗體與父窗體通信方法實例總結

    這篇文章主要介紹了C#實現(xiàn)子窗體與父窗體通信方法,實例總結了常用的四種窗體通信方法,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-09-09
  • c#互斥鎖Mutex類用法介紹

    c#互斥鎖Mutex類用法介紹

    本文詳細講解了c#互斥鎖Mutex類的用法,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-02-02
  • C#漢字轉(zhuǎn)換拼音技術詳解(高性能)

    C#漢字轉(zhuǎn)換拼音技術詳解(高性能)

    通過網(wǎng)上漢字轉(zhuǎn)換成拼音的代碼,經(jīng)過本人優(yōu)化,性能將更加優(yōu)異
    2012-11-11
  • C#訪問SQLServer增刪改查代碼實例

    C#訪問SQLServer增刪改查代碼實例

    這篇文章主要為大家詳細介紹了C#訪問SQLServer增刪改查代碼實例,感興趣的小伙伴們可以參考一下
    2016-08-08
  • C#數(shù)據(jù)結構揭秘一

    C#數(shù)據(jù)結構揭秘一

    本文一介紹了數(shù)據(jù)結構的基本概念 而介紹了算法的基本概念,并且重點討論了算法時間復雜度,并且用程序予以證明
    2012-10-10
  • 基于不要返回null之EmptyFactory的應用詳解

    基于不要返回null之EmptyFactory的應用詳解

    本篇文章對不要返回null之EmptyFactory進行了詳細的分析介紹,需要的朋友參考下
    2013-05-05
  • C#?WPF實現(xiàn)3D操作幾何體效果

    C#?WPF實現(xiàn)3D操作幾何體效果

    眾所周知,我的世界就是無數(shù)個像素塊的集合,而像素塊也就是立方體。關于新建立方體,這個大家已經(jīng)非常熟練了,本文就來說說如何實現(xiàn)3D操作幾何體效果吧
    2023-03-03

最新評論