读淘宝商品描述页源码delphi版

淘宝的宝贝描述页是ajax异步载入的,所以直接idhttp读一下是弄不到它的源码的。用下面的方法就可以。

代码如下:

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, StdCtrls,SHDocVw, ExtCtrls, OleCtrls;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Label1: TLabel;
    TabControl1: TTabControl;
    GO: TButton;
    Button1: TButton;
    Button2: TButton;
    Panel1: TPanel;
    RichEdit1: TRichEdit;
    Panel2: TPanel;
    WebBrowser1: TWebBrowser;
    Label2: TLabel;
    procedure GOClick(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure TabControl1Change(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  *******
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}
{$APPTYPE CONSOLE}
uses mshtml;

function GetHtml(const WebBrowser:TWebBrowser): string;
var
  Doc: IHTMLDocument2;
begin
  Doc := WebBrowser.Document as IHTMLDocument2;
  if Assigned(Doc) and Assigned(Doc.body) then
    Result := Doc.body.OuterHtml; //也可以用innerHTML取得其HTML文本
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  //读商品描述页html
  form1.RichEdit1.Text:=GetHtml(form1.WebBrowser1);
  form1.TabControl1.TabIndex:=0;
  form1.Panel1.BringToFront;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  Application.Terminate;
end;

procedure TForm1.FormShow(Sender: TObject);
begin
  //显示控制
  form1.TabControl1.TabIndex:=0;
  form1.Panel1.BringToFront;
  form1.Button1.Enabled:=false;
  WebBrowser1.Silent := True; //禁脚本错误

end;

procedure TForm1.GOClick(Sender: TObject);
begin

  form1.TabControl1.TabIndex:=1;
  form1.Panel2.BringToFront;
  form1.WebBrowser1.Navigate(trim(form1.Edit1.Text));
  form1.Button1.Enabled:=true;
end;

procedure TForm1.TabControl1Change(Sender: TObject);
begin
  case TabControl1.TabIndex of
    0:begin
      form1.Panel1.BringToFront;
    end;
    1:begin
      form1.Panel2.BringToFront;
    end;
  end;
end;

end.

界面代码:

object Form1: TForm1
  Left = 229
  Top = 150
  BorderIcons = [biSystemMenu, biMinimize]
  Caption = #35835#28120#23453#21830#21697#25551#36848'  '#29482#24735#33021
  ClientHeight = 269
  ClientWidth = 330
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'Tahoma'
  Font.Style = []
  OldCreateOrder = False
  Position = poDesigned
  OnShow = FormShow
  PixelsPerInch = 96
  TextHeight = 13
  object Label1: TLabel
    Left = 8
    Top = 19
    Width = 23
    Height = 13
    Caption = 'URL:'
  end
  object Label2: TLabel
    Left = 15
    Top = 242
    Width = 156
    Height = 13
    Caption = #20808'go'#65292#31561#32593#39029#36733#20837#21518#20877#21462#28304#30721
    Color = clGradientActiveCaption
    Font.Charset = DEFAULT_CHARSET
    Font.Color = clRed
    Font.Height = -11
    Font.Name = 'Tahoma'
    Font.Style = []
    ParentColor = False
    ParentFont = False
  end
  object Edit1: TEdit
    Left = 32
    Top = 16
    Width = 241
    Height = 21
    TabOrder = 0
    Text =
      'http://item.taobao.com/auction/item_detail-0db1-b65488f879057795' +
      '999a205b3ed15545.jhtml'
  end
  object TabControl1: TTabControl
    Left = 8
    Top = 48
    Width = 313
    Height = 177
    TabOrder = 1
    Tabs.Strings = (
      'Html'
      'View')
    TabIndex = 0
    OnChange = TabControl1Change
    object Panel1: TPanel
      Left = 8
      Top = 24
      Width = 297
      Height = 145
      Caption = 'Panel1'
      TabOrder = 0
      object RichEdit1: TRichEdit
        Left = 0
        Top = 0
        Width = 297
        Height = 145
        Font.Charset = GB2312_CHARSET
        Font.Color = clWindowText
        Font.Height = -11
        Font.Name = 'Tahoma'
        Font.Style = []
        Lines.Strings = (
          'RichEdit1')
        ParentFont = False
        ScrollBars = ssVertical
        TabOrder = 0
      end
    end
    object Panel2: TPanel
      Left = 8
      Top = 24
      Width = 302
      Height = 150
      Caption = 'Panel2'
      TabOrder = 1
      object WebBrowser1: TWebBrowser
        Left = 0
        Top = 0
        Width = 297
        Height = 145
        TabOrder = 0
        ControlData = {
          4C000000B21E0000FC0E00000000000000000000000000000000000000000000
          000000004C000000000000000000000001000000E0D057007335CF11AE690800
          2B2E126208000000000000004C0000000114020000000000C000000000000046
          8000000000000000000000000000000000000000000000000000000000000000
          00000000000000000100000000000000000000000000000000000000}
      end
    end
  end
  object GO: TButton
    Left = 281
    Top = 21
    Width = 41
    Height = 21
    Caption = 'GO'
    TabOrder = 2
    OnClick = GOClick
  end
  object Button1: TButton
    Left = 192
    Top = 232
    Width = 57
    Height = 29
    Caption = #21462#28304#30721
    TabOrder = 3
    OnClick = Button1Click
  end
  object Button2: TButton
    Left = 265
    Top = 232
    Width = 57
    Height = 29
    Caption = #36864#20986
    TabOrder = 4
    OnClick = Button2Click
  end
end

源代码下载:http://www.rayfile.com/files/b844aba6-15d3-11df-95b8-0015c55db73d/

原文地址:https://www.cnblogs.com/hackpig/p/1668573.html