Tag: web scraping

Excel VBAmacros:从跨越多个页面的站点表中刮取数据

先谢谢您的帮助。 我正在运行Windows 8.1,我有最新的IE / Chrome浏览器和最新的Excel。 我试图写一个Excelmacros,从StackOverflow( https://stackoverflow.com/tags )中提取数据。 具体来说,我正在试着拖动date(运行macros),标签名称,标签的数量以及标签的简要描述。 我已经为表格的第一页工作,但没有rest(目前有1132页)。 现在,它每次运行macros时都会覆盖数据,我不知道如何在运行之前查找下一个空单元。最后,我试图让它每周自动运行一次。 我非常感谢这里的任何帮助。 问题是: 将数据从Web表格拉出第一页 使数据到下一个空行而不是覆盖 让macros每周自动运行一次 代码(到目前为止)如下。 谢谢! Enum READYSTATE READYSTATE_UNINITIALIZED = 0 READYSTATE_LOADING = 1 READYSTATE_LOADED = 2 READYSTATE_INTERACTIVE = 3 READYSTATE_COMPLETE = 4 End Enum Sub ImportStackOverflowData() 'to refer to the running copy of Internet Explorer Dim ie As InternetExplorer 'to refer to […]

如何使用vba从Datastore.prime中刮取数据

我试图从这个网站刮取数据http://www.whoscored.com/regions/252/tournaments/2/england-premier-league 当我使用检查元素时,我看到数据是表格格式,如下图所示。 源代码具有这种格式的数据。 DataStore.prime('stagefixtures',$ .extend({stageId:12496,isAggregate:false},calendar.parameter()),[[959688,1'2015年12月21日星期一','20:00',13 ,'阿森纳',0,167,'曼城',0,'2:1','2:0',1,1,'FT','1',0,1,112,0],[959683,4, '12月26日星期六','12:45',96,'斯托克',0,32,'曼联',0,'vs',, 0,1 ,,' – 1',0,1, 13,0],[959615,4'2015年12月26日星期六','15:00',24,'Aston Villa',0,29,'西汉姆',0,'vs',, 0,1 ''1',0,1,6,0],[959625,4,'2015年12月26日星期六','15:00',183,'伯恩茅斯',0,162,'水晶宫',0, 'vs',, 0,1 ,,' – 1',0,1,10,0],[959635,4,'2015年12月26日星期六','15:00',15,'Chelsea',0 ,27,'Watford',0,'vs',, 0,1 ,,' – 1',0,1,15,0],[959645,4'2015年12月26日星期六','15:00 ',26,'利物浦',0,14,'莱斯特',0,'vs',, 0,1 ,,' – 1',0,1,15,0],[959655,4' 2015年12月26日','15:00',167,'曼城',0,16,'桑德兰',0,'vs',, 0,1 ,,' – 1',0,1,4,0 ],[959691,4,'2015年12月26日星期六','15:00',259,'Swansea',0,175,'West Bromwich Albion',0,'vs',, 0,1 ,,' – 1 ',0,1,5,0],[959698,4',星期六,12月26日 2015'','15:00',30,'Tottenham',0,168,'Norwich',0,'vs',, 0,1 ,,' – 1',0,1,8,0],[959665, 4,'2015年12月26日星期六','17:30',23,'纽卡斯尔联',0,31,'埃弗顿',0,'vs',, 0,1 ,,' – 1',0, 1,7,0],[959674,4,'2015年12月26日星期六','19:45',18,'南安普敦',0,13,'阿森纳',0,'vs',, 0,1 […]

excel vba(Internet Explorer)错误424 for循环退出

在收集来自网站的数据时,我在Excel VBA的For循环结束时收到此错误。 所有的代码之前是完美的。 即使下面的代码给我的结果,但它只是给了我一个错误。 y = 5 total = html.getElementsByTagName("table")(3).Children(0).Children.Length For i = 0 To total Worksheets("FS Summary").Range("A" & y).Value = html.getElementsByTagName("table")(3).Children(0).Children(i).Children(0).Children(0).innerText Worksheets("FS Summary").Range("B" & y).Value = html.getElementsByTagName("table")(3).Children(0).Children(i).Children(1).Children(0).innerText Worksheets("FS Summary").Range("C" & y).Value = html.getElementsByTagName("table")(3).Children(0).Children(i).Children(2).Children(0).innerText Worksheets("FS Summary").Range("D" & y).Value = html.getElementsByTagName("table")(3).Children(0).Children(i).Children(3).Children(0).innerText Worksheets("FS Summary").Range("E" & y).Value = html.getElementsByTagName("table")(3).Children(0).Children(i).Children(4).Children(0).innerText Worksheets("FS Summary").Range("F" & y).Value = html.getElementsByTagName("table")(3).Children(0).Children(i).Children(5).Children(0).innerText Worksheets("FS Summary").Range("G" & […]

对象“IWebBrowser2”的Excel VBA“方法”文档“失败”

我试图在Excel中自动完成表单提交工作,并在基础知识中遇到困难。 我不断收到错误消息: “对象”IWebBrowser2“的方法”文档“失败” 代码是这样的,如果我在等待检查中包含Or部分,我得到错误 “自动化错误被调用的对象已从其客户端断开连接”。 我不确定在这里做什么,我已经search了解决scheme。 这段代码的目的是最终做的比这更多,但是它在getElementsByTagName的第一次尝试中保持失败。 Sub GoToWebsiteTest() Dim appIE As Object 'Internet Explorer Set appIE = Nothing Dim objElement As Object Dim objCollection As Object If appIE Is Nothing Then Set appIE = CreateObject("InternetExplorer.Application") sURL = *link* With appIE .Visible = True .Navigate sURL End With Do While appIE.Busy ' Or appIE.ReadyState <> […]

使用VBA将表格从Web导入Excel

写了一些连接到网站的基本VBA,input用户名和密码到该网站,login,然后复制一个表格,并将其粘贴到Excel中。 现在我意识到我的表格包含带有链接的graphics。 而不是复制前面提到的表格,我想单独遵循这些链接,并将这些链接的表格复制到excel中。 但是,Web表格中的这些graphics不包含单独的直接超链接。 我查看了网页的源代码,它包含Javascript。 (见下文) <a href="#" onclick="var a=function(){javascript:window.open('','ProcStatus','top=50,left=' + (screen.width – 750) + ',width=700,height=500,resizable,status,scrollbars');};var b=function() {if(typeof jsfcljs == 'function'){jsfcljs(document.getElementById('MainPage'), {'j_id202:319:j_id208':'j_id202:319:j_id208'},'ProcStatus');}return false};return (a()==false) ? false : b();"><img src="image.gif" alt="View Details" style="border: 0;" title="View Details" /></a> 我可以看到这些在源代码中调用的函数,并记住,我知道零关于Javascript,我的VBA代码将如何执行/打开这些链接,然后移动到表中的第二行,到下一个链接? 基本上,如何填充onclick事件所需的variables,然后激活该超链接来打开新的网页? 然后在该表中的每个后续链接?