抓取动态网页

抓取百度地图页面内容

  由于ajax技术,很多网页的内容都是动态加载的,而spider抓取网页信息一般是跳过js加载的,下面记录一下前几天抓取百度地图页面的方法,以做备忘。

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 using System.Windows.Forms;//控制台程序利用WebBrowser控件实现
 6 using System.Threading;
 7 using System.IO;
 8   
 9  namespace ConsoleApplication2
10  {
11      public class Program
12      {
13          [STAThread]//控制台程序设置STAThread标记。
14          static void Main(string[] args)
15          {
16              string url = "http://map.baidu.com/?newmap=1&ie=utf-8&s=s&wd=宁波市 阿里山路"; 
17              WebBrowser browser = new WebBrowser(); 
18              browser.ScriptErrorsSuppressed = true;  
19              browser.Navigate(url); 
20              while (browser.ReadyState != WebBrowserReadyState.Complete)
21              {
22                  Application.DoEvents();//让操作系统执行其他的事件
23              }
24              var htmldocument = (mshtml.HTMLDocument)browser.Document.DomDocument; //添加Micorsoft.mshtml的引用
25              string gethtml = htmldocument.documentElement.outerHTML; 
26              //写入文件
27              using (StreamWriter sw = new StreamWriter("d://1.html"))
28              {
29                  sw.WriteLine(gethtml);
30              } 
31              Console.WriteLine("html 文件 生成!"); 
32              Console.Read();
33          }
34      }
35  }

 

转载于:https://www.cnblogs.com/bbcar/archive/2013/01/05/2846178.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值