设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 2080|回复: 4
打印 上一主题 下一主题

[模块/函数] 如何一次采集网页上所有的表

[复制链接]
跳转到指定楼层
1#
发表于 2016-11-28 15:01:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请大神帮我看看这段代码,这是我在网上收集的一个网页数据采集的例子。它设的条件是网页上表的第一列第一行为“产品名称”,而我需要采集的网页上有几个表,但第一列第一行的内容相同,所以只能采集第一个表,我想把条件改为第一行的最后一列的内容在区分,或者一次将网页上的表全部采集到excl表上,再处理。请大神帮我改改,谢谢!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅

点击这里给我发消息

2#
发表于 2016-11-28 15:31:06 | 只看该作者
网抓 的话要根据 具体 的网页内容 去修改。不太灵活
如果内容固定的话,可考虑使用火车头这样的通用采集软件,数据可直接采集到Access数据库里
3#
 楼主| 发表于 2016-11-28 15:34:33 | 只看该作者
本帖最后由 123shusheng 于 2016-11-28 15:37 编辑
tmtony 发表于 2016-11-28 15:31
网抓 的话要根据 具体 的网页内容 去修改。不太灵活
如果内容固定的话,可考虑使用火车头这样的通用采集软 ...

火车头?能给个例子吗?我的网页上的几个表,表头是固定的,关键是如果直接套例子,每个表的第一列第一行都是一样的。

4#
发表于 2016-11-28 21:40:34 | 只看该作者
同一页多个表格的话,一般可以使用DOM进行处理。
如果table有ID,可以通过GetElementById,如果没有则通过getElementsByClassName或者GetElementByTagName来获取表格。后者得到的是一个集合,因此需要通过索引值,才可以判断哪个表是目标表。
DOM涉及的内容较多,建议花些时间了解下HTML代码再来看这个问题。以下例子供参考:
http://www.office-cn.net/thread-119111-1-1.html
http://www.office-cn.net/thread-119204-1-1.html

另外也可以通过Ajax方式或者对JSON数据的解析来获取数据,详细参考以下例子:
http://www.office-cn.net/thread-119593-1-1.html
需要注意的是,通过Ajax方式获取数据时,当HTTP请求过于频繁时可能会被服务器拒绝。网上说加上随机值,可以避免这个错误。但实际测试结果并非如此,可能需要使用代理服务器或者IP转换之类的工具。
5#
发表于 2016-11-29 22:25:44 | 只看该作者
复杂的要用正则了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-1 19:33 , Processed in 0.072349 second(s), 29 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表