Tag: 网页抓取

Excel:从HTML标题查询属性

我想使用excel vba从网页中的标题types中提取属性值。 我想从网页上刮取的数据具有以下结构: <div class="index-detail"> <h5><a href="/indices/equity/dow-jones-sustainability-chile-index-clp" title="DJSI Chile" contentIdentifier="2e9cb165-0cbf-4070-a5ef-dc20bf6219ba" contentType="web-page" contentTitle="Dow Jones Sustainability™ Chile Index (CLP)">DJSI Chile</a></h5> <span class="return-value">917.08 </span> <span class="daily-change down ">-0.1% ▼ </span> </div> 使用getElementsByClassName和getElementsByTagName我已经提取了标题<h5> ,但是当我打印标题的innerText时,我得到了DJSI Chile ,但是我想要得到Dow Jones Sustainability™ Chile Index (CLP)属性contentTitle的文本Dow Jones Sustainability™ Chile Index (CLP) 。 我怎样才能做到这一点? UPDATE 代码是我使用如下: Sub myConSP() ' Declare variables Dim oHtmlSP As HTMLDocument […]

如何在Excel工作表中使用网页抓取通过标签名称获取标签值?

我每天都会对电子商务网站进行分析,我不得不复制他们的价格。 我想要做的是,我将一个网站的url粘贴到Excel工作表中,并从单元格中的标签名称中获得价格。 网站的来源如下所示: <table> <td> Price </td> <td> : </td> <td> <input name="Price" type="text" value="148.0000" id="uxMSRPPrice1" style="width: 250px;" /> (In x.xx format) </td> </table> 我想在我的工作表中得到价格148.0000,使用标签名称=“价格”价格是源代码中的唯一标签 还有一件事,我只能从URL这样的源代码包括视图源(我不能共享原来的客户端URL,所以我把它改为xyz ): https://www.xyz com/admin/ProductPage.aspx?ProductID=xxx

Excel VBA网页抓取 – 定位一个不同的框架

我想从网站上取下一些数据并放入excel。 我已经完成了这之前&代码编写,login我浏览到我想要的页面。 在这一点上,网站是在不同的格式。 我想要的页面有框架。 顶部框架有一个横幅和一些文字,然后在底部框架中有一个表格。 当我在我的VBA代码浏览到这一点,它似乎只能find顶部框架 – 没有forms等。我如何专门针对框架的forms? HTML源代码: <html> <head> <title></title> <link rel="stylesheet" type="text/css" href="../custom/LeftSideSquareTabs.css"> <script type="text/javascript" language="javascript" src="../include/JSCommon.js"></script> <Script language="JavaScript"> function Dummmy() { parent.location.replace('../login.asp?Locale=EN&Lo=1') } </script> </head> <body bgcolor="#FFFFFF" text="#000000" topmargin="0" leftmargin="10"> <table border="0" cellpadding="0" cellspacing="0" width="786"> <tr> <td width="50%" align="left" height="62"></td> <td width="50%" align="right" height="62"> <a href="http://www.website.com" target="_blank"> <img name="ToolbarRightLogo" src="../custom/ToolbarlogoRight.gif" border="0" […]

如何select<li>与ie vba web-scrapt脚本

我编写了一个使用VBA编写的自动化stream程,从客户处获得数千个始发和目的地邮政编码,并使用VBA和Excel从我的铁路服务提供商处收集价格。 一个供应商特别是最近更新了他们的页面,要求我们在input起始/目的地邮政编码之后select城市/州组合。 我可以input拉链和这样的罚款; 但是,我不知道如何select列表项。 以下是来自网站的HTML。 input框为Zipcode 这里是我的代码放在zip:(我有select在那里,希望呈现ul表) ieDoc.all.shipFromLocation.Value = oZip ieDoc.all.shipFromLocation.Select ieDoc.all.shipToLocation.Value = dZip ieDoc.all.shipToLocation.Select input邮政编码后,这个ul框将出现: <ul class="ui-autocomplete ui-front ui-menu ui-widget ui-widget-content ui-corner-all location-ac-menu" id="ui-id-1" tabindex="0" aria-disabled="false" style="display: none; width: 222.77777767181396px; top: 260.34715270996094px; left: 164.01385498046875px;"> <li><strong class="location-ac-heading">Please select:</strong></li> <li class="ui-menu-item" role="presentation"><a id="ui-id-87" class="ui-corner-all" tabindex="-1">PHILA, PA 19106 US</a></li> <li class="ui-menu-item" role="presentation"><a id="ui-id-88" class="ui-corner-all" tabindex="-1">WM PENN ANX […]

使用带有dynamicWeb地址的VBA从网站获取表格

我试图从一个网站插入一个表格到excel,特别是WSJ期货。 有一个日历function,我可以通过更改url解决。 我想使代码中的网站成为单元格引用,这样我就可以使地址变成dynamic的。 下面是没有dynamic地址的常规macros的代码。 关于如何做出这个改变的build议? 我已经尝试拿出url,并将其作为单元格引用,但它不起作用。 ActiveWorkbook.Queries.Add Name:=Range("A1"), Formula:= _ "let" & Chr(13) & "" & Chr(10) & " Source = Web.Page(Web.Contents(""http://www.wsj.com/mdc/public/page/2_3023-fut_metal-futures-20170901.html?mod=mdc_pastcalendar""))," & Chr(13) & "" & Chr(10) & " Data5 = Source{5}[Data]," & Chr(13) & "" & Chr(10) & " #""Changed Type"" = Table.TransformColumnTypes(Data5,{{""Column1"", type text}, {""Column2"", type text}, {""Column3"", type text}, {""Column4"", type […]

无法读取多个网页

我想从这两个相似的页面获取信息: http://www.quotenet.com/index/market-movers/S&P_500 http://www.quotenet.com/index/market-movers/CAC_40 我已经有一个代码适用于一个页面(我想要得到表中的前两个移动器): Dim ie As InternetExplorer, doc As HTMLDocument Dim TopMoverTable As Object Dim TopMoverTable2 As Object Set ie = CreateObject("InternetExplorer.Application") ie.navigate "http://www.quotenet.com/index/market-movers/S&P_500" Do DoEvents Loop Until ie.readyState = READYSTATE_COMPLETE Set doc = ie.document Set TopMoverTable = doc.getElementsByTagName("TABLE")(2) Cells(1, 2) = Split(TopMoverTable.getElementsByTagName("TD")(0).innerText, vbCrLf)(0) Cells(1, 3) = Split(TopMoverTable.getElementsByTagName("TD")(4).innerText, vbCrLf)(1) Cells(2, 2) = Split(TopMoverTable.getElementsByTagName("TD")(11).innerText, vbCrLf)(0) […]

使用VBA从Web文档input元素获取价值

我很难从名为points的input中检索值300 。 这是我的HTML和VBA代码。 HTML : <td id="myPower_val_9" style="visibility: visible;"> <input type="text" disabled="disabled" value="300" name="points"></input> </td> VBA : Dim ie As Object Dim myPoints As String Set ie = CreateObject("InternetExplorer.Application") With ie .Visible = 0 .navigate "www.example.com" While .Busy Or .readyState <> 4 DoEvents Wend End With Dim Doc As HTMLDocument Set Doc = ie.document myPoints […]

parsingJson数据到Excel

我有这个链接上的Json格式的数据 : Json Data 什么是最好的方法来完成这个工作? 我知道这可以通过Python完成,但不知道如何。

VBA将HTML导入表的结果拆分为excel

您好,我从一个网站导入整个表excelstring: Dim fST As String fST = Doc.getElementsByTagName("table")(0).innerText 之后,我想分割Excel表格里面的Excel单元格和拆分使用HTML表中的<td>标签,或者至less这是我认为可以做到的选项,所以导入的表将是同样在excel里面,一旦导入,每个值都会在个别单元格内。 让我知道谢谢。 这是我正在使用的整个conde: Private Sub Worksheet_Change(ByVal Target As Range) 如果Target.Row = Range(“URL”)。Row和_ Target.Column = Range(“URL”)。然后Dim IE作为新的InternetExplorer IE.Visible = True IE.navigate Application.ActiveSheet.Range(“URL” )DoEvents循环直到IE.readyState = READYSTATE_COMPLETE Dim Doc As HTMLDocument Set Doc = IE.document Dim tbl,trs,tr,tds,td,r,c Set tbl = Doc.getElementsByTagName("table")(0) Set trs = tbl.getElementsByTagName("tr") For r = 1 To […]

Web刮 – VBAsearch参数无法正常工作

我正在从事一个网上抓取项目,这个项目可以从旅游网站上刮取票务信息。 我目前遇到一个问题,即在我的VBA代码中定义的search参数,然后input到要执行的网站不起作用。 下面提供了已经编写的代码。 为了提供一些背景知识,我正在从我的Excel工作簿(例如北京(北京))往返目的地,并且以网站期望input的相同格式(MM-DD-YYYY)定义旅行date但是在运行的时候,网站似乎没有认出这个参数,并且指着我一个页面说“ 网站正在维护中 ”,奇怪的是,当我手动input参数的时候,站点会识别它并提供票务信息。 我可能错过了什么? 我需要更新“出发城市”,“到达城市”和“出发date”之外的其他值吗? 我也注意到,当我通过多个城市循环时,网站search与之前定义的相同的参数(即,如果search上海 – >北京,则产生天津 – >我之前search的北京)。 有没有办法通过VBA自动删除search历史logging/caching? ' save from and to destinations under a defined string sFrom = Range("C3").Value sTo = Range("C4").Value ' "i" to track the # of days out as defined by the user For i = 0 To cntDays dtRange = Date + i […]