最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

第一步:打開visual studio 2017 新建一個(gè)控制臺(tái)項(xiàng)目,打開nuget包管理器。

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

第三步:寫下如下圖所示的代碼。但是執(zhí)行的時(shí)候會(huì)報(bào)錯(cuò)。原因是找不到PhantomJS.exe。這時(shí)候可以去下載一個(gè),也可以繼續(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();
  //設(shè)置代理服務(wù)器地址
  //pds.Proxy = $"{ip}:{port}"; 
  //設(shè)置代理服務(wù)器認(rèn)證信息
  //pds.ProxyAuthentication = GetProxyAuthorization();
  return pds;
 }
 }
}

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

第五步:運(yùn)行。可以看到phantomjs.exe被自動(dòng)下載了。

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

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

相關(guān)文章

  • c#實(shí)現(xiàn)pdf的另存為功能

    c#實(shí)現(xiàn)pdf的另存為功能

    今天跟大家分享一個(gè)實(shí)現(xiàn)PDF另存為的效果,是調(diào)用Acrobat SDK的JavaScript實(shí)現(xiàn)的,需要的朋友可以參考下
    2014-03-03
  • C#7.0中新特性匯總

    C#7.0中新特性匯總

    C#7.0 增加了許多新功能,并專注于數(shù)據(jù)消費(fèi),簡(jiǎn)化代碼和性能的改善。接下來通過本文給大家介紹C#7.0中新特性匯總,需要的朋友可以參考下
    2016-08-08
  • Unity實(shí)現(xiàn)局域網(wǎng)聊天室功能

    Unity實(shí)現(xiàn)局域網(wǎng)聊天室功能

    這篇文章主要為大家詳細(xì)介紹了Unity實(shí)現(xiàn)局域網(wǎng)聊天室功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • c#中@的3種作用

    c#中@的3種作用

    本文主要介紹了c#中@的3種作用。具有很好的參考價(jià)值,下面跟著小編一起來看下吧
    2017-02-02
  • 帶你復(fù)習(xí)c# 托管和非托管資源

    帶你復(fù)習(xí)c# 托管和非托管資源

    這篇文章主要介紹了c# 托管和非托管資源的相關(guān)資料,文中講解非常細(xì)致,幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-07-07
  • C# Winfrom實(shí)現(xiàn)Skyline畫直線功能的示例代碼

    C# Winfrom實(shí)現(xiàn)Skyline畫直線功能的示例代碼

    這篇文章主要介紹了C# Winfrom實(shí)現(xiàn)Skyline畫直線功能的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • C#實(shí)現(xiàn)讀寫分離的五種方法小結(jié)

    C#實(shí)現(xiàn)讀寫分離的五種方法小結(jié)

    在C#中實(shí)現(xiàn)分離功能通常指的是將不同的邏輯或責(zé)任分配到不同的類或組件中,以增強(qiáng)代碼的可讀性、可維護(hù)性和可擴(kuò)展性,這通常涉及到設(shè)計(jì)模式、依賴注入和接口的使用,下面是一些在C#中實(shí)現(xiàn)分離功能的基本方法,需要的朋友可以參考下
    2025-03-03
  • C# textbox實(shí)時(shí)輸入值檢測(cè)方式

    C# textbox實(shí)時(shí)輸入值檢測(cè)方式

    這篇文章主要介紹了C# textbox實(shí)時(shí)輸入值檢測(cè)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • Unity實(shí)現(xiàn)菜品識(shí)別的示例代碼

    Unity實(shí)現(xiàn)菜品識(shí)別的示例代碼

    這篇文章主要介紹了如何通過Unity實(shí)現(xiàn)菜品識(shí)別,可以準(zhǔn)確識(shí)別圖片中的菜品名稱、位置、卡路里信息,并獲取百科信息。感興趣的小伙伴可以了解一下
    2022-02-02
  • C#使用NPOI上傳excel

    C#使用NPOI上傳excel

    這篇文章主要為大家詳細(xì)介紹了C#使用NPOI上傳excel的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-05-05

最新評(píng)論

勐海县| 舟曲县| 南漳县| 金坛市| 鄂州市| 威海市| 岱山县| 拜泉县| 甘谷县| 临沧市| 咸丰县| 湘潭县| 九江县| 新河县| 富锦市| 黄陵县| 博爱县| 斗六市| 准格尔旗| 诏安县| 镇坪县| 绥宁县| 岳普湖县| 武穴市| 沁水县| 武穴市| 大渡口区| 闸北区| 额济纳旗| 霞浦县| 金坛市| 老河口市| 勐海县| 横峰县| 合山市| 贵州省| 德格县| 连江县| 安图县| 彝良县| 吉水县|