资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

php抓取网页数据vba vba 抓取网页数据

vba如何抓取网页上的数据

代码:

创新互联专注于开封企业网站建设,成都响应式网站建设公司,成都做商城网站。开封网站建设公司,为开封等地区提供建站服务。全流程按需网站制作,专业设计,全程项目跟踪,创新互联专业和态度为您提供的服务

Private Sub CommandButton1_Click()

Dim IE As Object

Dim i As Integer

i = 1

'打开网页:创建一个IE对象,然后给一些属性赋值。Visible是可见性,navigate是网页地址

Set IE = CreateObject('internetexplorer.application')

With IE

.Visible = True

.navigate ''

'等待网页完全加载

Do Until .ReadyState = 4

DoEvents

Loop

'拷贝汉字到网页文本框,然后点击转换按钮,并取出转换结果

Do While Sheets('sheet1').Cells(i 1, 1).Value ''

'从IE.Document.all句柄中把页面上要使用的节点找出来。这里的方法是:

.document.all('source').Value 给以source为ID的文本框赋值

.document.all.tags('img')(1).Click 点击图片集合里的第二张图片

.document.all('to').Value 取出以to为ID的文本框内容

.document.all('source').Value = Sheets('sheet1').Cells(i 1, 1).Value

.document.all.tags('img')(1).Click

Do Until .ReadyState = 4

DoEvents

Loop

Sheets('sheet1').Cells(i 1, 2).Value = .document.all('to').Value

i = i 1

Loop

'关闭网页

.quit

End With

End Sub

代码解释:(见注释)

贴士:

1)VBA只能操作IE浏览器,原因就一句话:都是微软家的产品嘛

2)要先引用Micorsoft Internet Controls

如何通过vba在excel 2007工作表里获取php网页内容?

Excel界面操作:数据——导入外部数据——新建Web查询:在出现的界面地址栏输入网址,然后选择需要更新的数据范围——导入——选择数据放的单元格(必要时修改属性,如刷新频率等)——确定。这样当网页数据变化时,Excel表格的数据就会同样改变。如果不想数据同步,复制粘贴值到其他地方,然后删除工作表。

如果非要用VBA,用录制宏稍作修改即可。代码如下,详见附件。

Sub Macro2()

Sheet1.Activate

With ActiveSheet.QueryTables.Add(Connection:= _

  "URL;", Destination:=Range("A1"))

  .Name = "return_1"

  .FieldNames = True

  .RowNumbers = False

  .FillAdjacentFormulas = False

  .PreserveFormatting = True

  .RefreshOnFileOpen = False

  .BackgroundQuery = True

  .RefreshStyle = xlInsertDeleteCells

  .SavePassword = False

  .SaveData = True

  .AdjustColumnWidth = True

  .RefreshPeriod = 0

  .WebSelectionType = xlSpecifiedTables

  .WebFormatting = xlWebFormattingNone

  .WebTables = "7"

  .WebPreFormattedTextToColumns = True

  .WebConsecutiveDelimitersAsOne = True

  .WebSingleBlockTextImport = False

  .WebDisableDateRecognition = False

  .WebDisableRedirections = False

  .Refresh BackgroundQuery:=False

End With

End Sub

怎么用VBA或网络爬虫程序抓取网站数据

VBA网抓常用方法

1、xmlhttp/winhttp法:

用xmlhttp/winhttp模拟向服务器发送请求,接收服务器返回的数据。

优点:效率高,基本无兼容性问题。

缺点:需要借助如fiddler的工具来模拟http请求。

2、IE/webbrowser法:

创建IE控件或webbrowser控件,结合htmlfile对象的方法和属性,模拟浏览器操作,获取浏览器页面的数据。

优点:这个方法可以模拟大部分的浏览器操作。所见即所得,浏览器能看到的数据就能用代码获取。

缺点:各种弹窗相当烦人,兼容性也确实是个很伤脑筋的问题。上传文件在IE里根本无法实现。

3、QueryTables法:

因为它是excel自带,所以勉强也算是一种方法。其实此法和xmlhttp类似,也是GET或POST方式发送请求,然后得到服务器的response返回到单元格内。

优点:excel自带,可以通过录制宏得到代码,处理table很方便

。代码简短,适合快速获取一些存在于源代码的table里的数据。

缺点:无法模拟referer等发包头

也可以利用采集工具进行采集网页端的数据,无需写代码。


当前名称:php抓取网页数据vba vba 抓取网页数据
标题URL:http://www.cdkjz.cn/article/ddgcsdj.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220