zoukankan      html  css  js  c++  java
  • 抓取动态网页

      由于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原理浅析
    Java8 HashMap源码分析
    Java8 ArrayList源码分析
    Java反射
    Java泛型
    Tensorflow卷积神经网络
    Java8 Stream简介
    java.io与网络通信
    Python实现RNN
    域名系统DNS简介
  • 原文地址:https://www.cnblogs.com/bbcar/p/2846178.html
Copyright © 2011-2022 走看看