文档章节

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

涂孟超
 涂孟超
发布于 2014/09/26 15:37
字数 397
阅读 11
收藏 0
点赞 0
评论 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
博文 2004
码字总数 14107
作品 0
深圳
程序员
rvest包爬取猎聘网招聘信息

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

wzgl__wh ⋅ 2017/07/10 ⋅ 0

Python多篇新闻自动采集

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

阿锋zxf ⋅ 01/13 ⋅ 0

网盘万能钥匙:百度网盘提取密码自动填写

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

己立 ⋅ 2017/11/08 ⋅ 0

计算机基础导论 学习总结 上

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

Nautilus1 ⋅ 2017/11/28 ⋅ 0

python数据挖掘案例系列教程——python实现搜索引擎

全栈工程师开发手册 (作者:栾鹏) python数据挖掘系列教程 今天我们使用python实现一个网站搜索引擎。主要包含两个部分。网站数据库的生成、搜索引擎。其中搜索引擎部分我们使用单词频度算...

luanpeng825485697 ⋅ 01/07 ⋅ 0

爬虫入门教程⑧— BeautifulSoup解析豆瓣即将上映的电影信息

Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式.Beautiful Soup会帮你节省数小时甚至数天的工作时间. 这是...

皮卡丘丶 ⋅ 05/11 ⋅ 0

用python爬数据

Python 爬虫 python版本2.7,操作系统ubuntu12.04,我是在eclipse实验的。下面是爬互联网网页数据的一些经验。 爬取网页数据核心就是解析网页源文件,思路就是先把网页所有源代码缓存到本地,...

陈昱 ⋅ 2013/07/06 ⋅ 4

爬虫获取 js 动态数据 (万方数据库文献下载)

今天讲讲用爬虫下载万方数据库文献。 这是我们要爬取的文献链接: http://www.wanfangdata.com.cn/details/detail.do?_type=perio&id=zgtx201803009 右键那个下载按钮 -> 检查,我们可以看见,...

anye137 ⋅ 06/07 ⋅ 0

精品软件推荐—百度云另外一种破解限速的方式

  前言   上一次给大家推荐的《精品软件推荐—百度云限速破解版,速度快到没朋友》大家都试过了,绝大多数人下载速度很快。但也有一小部分网友表示速度并没有快起来。 所以,博主这次又花...

后端编程嘟 ⋅ 2017/04/25 ⋅ 0

[037] 微信公众帐号开发教程第13篇-图文消息全攻略

引言及内容概要 已经有几位读者抱怨“柳峰仅仅用到文本消息作为演示例子,从来不提图文消息,都不知道图文消息该怎样使用”,好吧,我错了,原本以为把基础API封装完、框架搭建好,再给出一个...

云栖希望。 ⋅ 2017/12/04 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Cube、Cuboid 和 Cube Segment

1.Cube (或Data Cube),即数据立方体,是一种常用于数据分析与索引的技术;它可以对原始数据建立多维度索引。通过 Cube 对数据进行分析,可以大大加快数据的查询效率 2.Cuboid 在 Kylin 中特...

无精疯 ⋅ 24分钟前 ⋅ 0

github太慢

1:用浏览器访问 IPAddress.com or http://tool.chinaz.com 使用 IP Lookup 工具获得github.com和github.global.ssl.fastly.net域名的ip地址 2:/etc/hosts文件中添加如下格式(IP最好自己查一...

whoisliang ⋅ 25分钟前 ⋅ 0

非阻塞同步之 CAS

为解决线程安全问题,互斥同步相当于以时间换空间。多线程情况下,只有一个线程可以访问同步代码。这种同步也叫阻塞同步(Blocking Synchronization). 这种同步属于一种悲观并发策略。认为只...

长安一梦 ⋅ 36分钟前 ⋅ 0

云计算的选择悖论如何对待?

人们都希望在工作和生活中有所选择。但心理学家的调查研究表明,在多种选项中进行选择并不一定会使人们更快乐,甚至不会产生更好的决策。心理学家Barry Schwartz称之为“选择悖论”。云计算为...

linux-tao ⋅ 38分钟前 ⋅ 0

我的第一篇个人博客

虽然这是个技术博客,但是,我总是想写一些自己的东西,所有就大胆的在这里写下了第一篇非技术博客。技术博客也很久没有更新,个人原因。 以后自己打算在这里写一些非技术博客,可能个人观点...

Mrs_CoCo ⋅ 39分钟前 ⋅ 0

Redis 注册为 Windows 服务

Redis 注册为 Windows 服务 redis 注册为 windows 服务相关命令 注册服务 redis-server.exe –service-install redis.windows.conf 删除服务 redis-server –service-uninstall 启动服务 re......

Os_yxguang ⋅ 39分钟前 ⋅ 0

世界那么大,语言那么多,为什么选择Micropython,它的优势在哪?

最近国内MicroPython风靡程序界,是什么原因导致它这么火呢?是因为他功能强大,遵循Mit协议开源么? 错!因为使用它真的是太舒服了!!! Micropython的由来,这得益于Damien George这位伟大...

bodasisiter ⋅ 43分钟前 ⋅ 0

docker 清理总结

杀死所有正在运行的容器 docker kill $(docker ps -a -q) 删除所有已经停止的容器(docker rm没有加-f参数,运行中的容器不会删掉) docker rm $(docker ps -a -q) 删除所有未打 dangling 标...

vvx1024 ⋅ 53分钟前 ⋅ 0

关于学习

以前学车的时候,教练说了这样的一句话:如果一个人坐在车上一直学,一直学,反而不如大家轮流着学。因为一个人一直学,就没有给自己留空间来反思和改进。而轮流着学的时候大家下来之后思考上...

mskk ⋅ 57分钟前 ⋅ 0

压缩工具之gzip-bzip2-xz

win下常见压缩工具:rar zip 7z linux下常见压缩工具:zip gz bz2 xz tar.gz tar.bz2 tar.xz gzip 不支持目录压缩 gzip 1.txt #压缩。执行后1.txt消失,生成1.txt.gz压缩文件 gzip -d 1.txt....

ZHENG-JY ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部