文档章节

提取网页中的所有链接、点击第 n 个链接 - 回复 "刘丽" 的问题

涂孟超
 涂孟超
发布于 2014/09/26 15:37
字数 397
阅读 12
收藏 0
问题来源: http://www.cnblogs.com/del/archive/2009/01/08/1370907.html#1425544

本例效果图:



代码文件:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    WebBrowser1: TWebBrowser;
    ListBox1: TListBox;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

{控件初始化}
procedure TForm1.FormCreate(Sender: TObject);
begin
  WebBrowser1.Align := alTop;
  WebBrowser1.Navigate('http://del.cnblogs.com');
  ListBox1.Align := alClient;

  Button1.Caption := '提取网页所有链接地址';
  Button2.Caption := '提取网页所有链接文本';
  Button3.Caption := '模拟点击指定的链接';
end;

{提取网页所有链接地址}
procedure TForm1.Button1Click(Sender: TObject);
var
  i: Integer;
begin
  ListBox1.Clear;
  for i := 0 to WebBrowser1.OleObject.document.anchors.Length - 1 do
    ListBox1.Items.Add(WebBrowser1.OleObject.document.anchors.item(i).href);
end;

{提取网页所有链接文本}
procedure TForm1.Button2Click(Sender: TObject);
var
  i: Integer;
begin
  ListBox1.Clear;
  for i := 0 to WebBrowser1.OleObject.document.anchors.Length - 1 do
    ListBox1.Items.Add(WebBrowser1.OleObject.document.anchors.item(i).innerText);
end;

{模拟点击指定的链接}
procedure TForm1.Button3Click(Sender: TObject);
begin
//  WebBrowser1.OleObject.document.anchors.item(0).click; {假如是第一个链接}
  if ListBox1.ItemIndex <> -1 then
    WebBrowser1.OleObject.document.anchors.item(ListBox1.ItemIndex).click;

  ListBox1.Clear;
end;

end.

 
 
 
 
 

 

 

  

窗体文件:
object Form1: TForm1
  Left = 0
  Top = 0
  Caption = 'Form1'
  ClientHeight = 229
  ClientWidth = 626
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'Tahoma'
  Font.Style = []
  OldCreateOrder = False
  OnCreate = FormCreate
  PixelsPerInch = 96
  TextHeight = 13
  object ListBox1: TListBox
    Left = 8
    Top = 127
    Width = 185
    Height = 130
    ItemHeight = 13
    TabOrder = 4
  end
  object WebBrowser1: TWebBrowser
    Left = 8
    Top = 8
    Width = 300
    Height = 113
    TabOrder = 0
    ControlData = {
      4C000000021F0000AE0B00000000000000000000000000000000000000000000
      000000004C000000000000000000000001000000E0D057007335CF11AE690800
      2B2E126208000000000000004C0000000114020000000000C000000000000046
      8000000000000000000000000000000000000000000000000000000000000000
      00000000000000000100000000000000000000000000000000000000}
  end
  object Button1: TButton
    Left = 451
    Top = 127
    Width = 151
    Height = 25
    Caption = 'Button1'
    TabOrder = 1
    OnClick = Button1Click
  end
  object Button2: TButton
    Left = 451
    Top = 158
    Width = 151
    Height = 25
    Caption = 'Button2'
    TabOrder = 2
    OnClick = Button2Click
  end
  object Button3: TButton
    Left = 451
    Top = 189
    Width = 151
    Height = 25
    Caption = 'Button3'
    TabOrder = 3
    OnClick = Button3Click
  end
end

 
 
 
 
 

 

 

  

本文转载自:http://www.cnblogs.com/del/archive/2009/01/08/1371867.html

共有 人打赏支持
涂孟超
粉丝 12
博文 2011
码字总数 14107
作品 0
深圳
程序员
私信 提问
rvest包爬取猎聘网招聘信息

前言 前不久,我用rvest包爬取了政府工作报告,通过jiebaR分词,并用wordcloud2进行了词云分析。点击查看 http://blog.csdn.net/wzgl_wh/article/details/72804687 今天,我们来用rvest包爬取...

wzgl__wh
2017/07/10
0
0
Chrome调试技能和常用插件完全指北

Chrome浏览器是前端工程师必备工具,以其强大的扩展程序和多进程架构、高速、简单搜索、更安全等特点为大家广泛使用。 接下来就简单介绍Chrome的调试技能和常用插件(针对前端) 一、调试技能...

FEvivi
昨天
0
0
Python多篇新闻自动采集

昨天用python写了一个天气预报采集,今天趁着兴头写个新闻采集的。   目标是,将腾讯新闻主页上所有新闻爬取下来,获得每一篇新闻的名称、时间、来源以及正文。   接下来分解目标,一步一...

阿锋zxf
01/13
0
0
网盘万能钥匙:百度网盘提取密码自动填写

前言 每次下载百度网盘私密分享的文件时都需要填写提取码,虽然不麻烦,但是如果能自动填写的话倒也省了不少事。 最近正好在 v2ex 上看到有大神写了个“百度网盘提取码自动识别与分享工具 --...

己立
2017/11/08
0
0
计算机基础导论 学习总结 上

课程大纲:从构建一个简单的搜索引擎项目出发,介绍构建过程中需要用到的技术,大致分为三个部分: 爬取数据 建立索引 页面排序 第一单元 开始你的第一行代码 课程前三个单元的目标是创建一个...

Nautilus1
2017/11/28
0
0

没有更多内容

加载失败,请刷新页面

加载更多

w, vmstat, top, sar, nload命令查看系统状态信息

w/uptime 查看系统负载 cat /proc/cpuinfo 查看cpu核数 vmstat 监控系统状态,用法 vmstat 1,关键的几列: r, b, swpd, si, so, bi, bo, us, wa top 查看进程使用资源情况 top -c 显示详细的...

野雪球
今天
1
0
小白创建一个spring boot项目

进入 https://start.spring.io/

lilugirl
今天
2
0
Alibaba Java诊断利器Arthas实践--使用redefine排查应用奇怪的日志来源

背景 随着应用越来越复杂,依赖越来越多,日志系统越来越混乱,有时会出现一些奇怪的日志,比如: [] [] [] No credential found 那么怎样排查这些奇怪的日志从哪里打印出来的呢?因为搞不清...

hengyunabc
今天
2
0
home hosts

home hosts lwk@qwfys:~$ cat /etc/hosts127.0.0.1 localhost127.0.1.1 qwfys192.168.56.101vm600.qwfys.com39.108.212.91alpha1.ppy.com39.108.117.122alpha2.p......

qwfys
今天
3
0
大数据教程(6.1)hadoop生态圈介绍及就业前景

1. HADOOP背景介绍 1.1、什么是HADOOP 1.HADOOP是apache旗下的一套开源软件平台 2.HADOOP提供的功能:利用服务器集群,根据用户的自定义业务逻辑,对海量数据进行分布式处理 3.HADOOP的核心组...

em_aaron
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部