c 抓取网页数据(seleniumSQLite库使用技巧C#教程1、SQLite+谷歌浏览器)

优采云 发布时间: 2022-01-10 10:01

  c 抓取网页数据(seleniumSQLite库使用技巧C#教程1、SQLite+谷歌浏览器)

  C#+Selenium+ChromeDriver爬取网页1.后台

  Selenium 是用于 Web 应用程序测试的工具。Selenium 测试直接在浏览器中运行,就像真正的用户一样。对于爬虫来说,使用 Selenium 控制浏览器在互联网上爬取数据,绝对是爬虫中的杀手锏。在这里,我将介绍 selenium + Google Chrome 的一般用法。

  2.要求

  在普通爬虫开发中,有时网页就是一堆js代码,其中涉及到大量的异步计算。如果是普通的http控制台请求,获取的源文件就是一堆js,需要自己组装数据。非常费力;但是使用Selenium+ChromeDriver可以达到所见即所得的完美效果。

  3.实现

  项目结构:为了使用方便,使用winform程序,附上nuget包

  下面是form1.cs的代码,这里只放关键方法代码。需要安装最新的chrome浏览器+代码中使用的chromedriver是v2.9.248315

   #region 异常  退出chromedriver

        [DllImport("user32.dll", EntryPoint = "FindWindow")]

        private extern static IntPtr FindWindow(string lpClassName, string lpWindowName);

        [DllImport("user32.dll", EntryPoint = "SendMessage")]

        public static extern int SendMessage(IntPtr hWnd, int Msg, int wParam, int lParam);

        public const int SW_HIDE = 0;

        public const int SW_SHOW = 5;

        [DllImport("user32.dll", EntryPoint = "ShowWindow")]

        public static extern int ShowWindow(IntPtr hwnd, int nCmdShow);

        ///

        /// 获取窗口句柄

        ///

        ///

        public IntPtr GetWindowHandle()

        {

            string name = (Environment.CurrentDirectory + "\\chromedriver.exe");

            IntPtr hwd = FindWindow(null, name);

            return hwd;

        }

        ///

        /// 关闭chromedriver窗口

        ///

        public void CloseWindow()

        {

            try

            {

                IntPtr hwd = GetWindowHandle();

                SendMessage(hwd, 0x10, 0, 0);

            }

            catch { }

        }

        ///

        /// 退出chromedriver

        ///

        ///

        public void CloseChromeDriver(IWebDriver driver)

        {

            try

            {

                driver.Quit();

                driver.Dispose();

            }

            catch { }

            CloseWindow();

        }

        #endregion 异常  退出chromedriver

  影响:

  

  谈谈思路:

<p>这是文章关于用C#+Selenium+ChromeDriver爬取网页(模拟真实用户浏览行为)的介绍,更多关于用C#+Selenium+ChromeDriver爬取网页内容的信息,请搜索之前的

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线