c#打开浏览器并全屏 设置ie浏览器打开全屏
原创

c#打开浏览器并全屏 设置ie浏览器打开全屏

好文

文章目录[隐藏]

试试语音读文章

基于C#.NET+Phantomjs+Sellenium的高级网络爬虫程序。可执行javascript代码、触发各类事件、操纵页面Dom结构、甚至可以移除不喜欢的css样式。

很多网站都用Ajax动态加载、翻页。比如携程网的评论数据。如果是用之前那个简单的爬虫。是很难直接抓取到所有评论数据的。我们需要去分析那漫天的Javascript代码寻找API数据接口。还要时刻提防对方增加数据陷阱或修改API接口地。

如果通过高级爬虫。就可以完全无视这些问题。无论他们如何加密Javascript代码来隐藏API接口。最终的数据都必要呈现在网站页面上的Dom结构中。不然普通用户也就没法看到了。所以我们可以完全不分析API数据接口。直接从Dom中提取数据。甚至都不需要写那复杂的正则表达式。

主要特性

支持Ajax请求事件的触发及捕获;

支持异步并发抓取;

支持自动事件通知;

支持代理切换;

支持操作Cookies;

运行截图

抓取酒店数据

抓取评论数据

示例代码

///<summary>///抓取酒店评论///</summary>staticvoidMain(string[]args){varhotelUrl="http://hotels.ctrip.com/hotel/434938.html";varhotelCrawler=newStrongCrawler();hotelCrawler.OnStart+=(s,e)=>{Console.WriteLine("爬虫开始抓取地址:"+e.Uri.ToString());};hotelCrawler.OnError+=(s,e)=>{Console.WriteLine("爬虫抓取出现错误:"+e.Uri.ToString()+"。异常消息:"+e.Exception.ToString());};hotelCrawler.OnCompleted+=(s,e)=>{HotelCrawler(e);};varoperation=newOperation{Action=(x)=>{//通过Selenium驱动点击页面的“酒店评论”x.FindElement(By.XPath("//*[@id='commentTab']")).Click();},Condition=(x)=>{//判断Ajax评论内容是否已经加载成功returnx.FindElement(By.XPath("//*[@id='commentList']")).Displayed&&x.FindElement(By.XPath("//*[@id='hotel_info_comment']/div[@id='commentList']")).Displayed&&!x.FindElement(By.XPath("//*[@id='hotel_info_comment']/div[@id='commentList']")).Text.Contains("点评载入中");},Timeout=5000};hotelCrawler.Start(newUri(hotelUrl),null,operation);//不操作JS先将参数设置为NULLConsole.ReadKey();}github:https://github.com/microfisher/Strong-Web-Crawler

您还感兴趣的文章推荐

以上就是由互联网推广工程师 网创网 整理编辑的,如果觉得有帮助欢迎收藏转发~

分享到 :
相关推荐

发表评论

您的电子邮箱地址不会被公开。

评论(2)

  • 旧日梦 永久VIP 2022年12月14日 01:42:19

    c#打开浏览器并全屏 设置ie浏览器打开全屏 这篇解答确实也是太好了

  • 明天的阳光美吗 永久VIP 2022年12月14日 01:42:19

    爬虫,数据,接口,代码,事件,页面,酒店,加载,高级,结构

  • 只求﹂份安宁 永久VIP 2022年12月14日 01:42:19

    基于C#.NET+Phantomjs+Sellenium的高级网络爬虫程序。可执行javascript代码、触发各类事件