将网站数据提取到Excel工作表中

时间:2017-04-06 09:45:55

标签: google-sheets spreadsheet

我想从Google表格中提取Expedia酒店房间的评级。不幸的是,我的代码不起作用。你能看看吗?

=IMPORTXML(https://www.expedia.co.in/Manila-Hotels-ZEN-Rooms-Pioneer-Street.h17368867.Hotel-Information,"//span[@class='rating-number']")

1 个答案:

答案 0 :(得分:0)

Option Explicit Sub autofill() Dim rng As Range Dim ws As Worksheet Dim y Set ws = Sheets("Sheet1") 'range Set rng = ws.Range("A1:" & ws.Range("A1").End(xlToRight).Address) 'looping For Each y In rng 'autofilling, note the split function retreiving the letter for the range ws.Range(Split(Cells(, y).Address, "$")(1) & "2").autofill Destination:=ws.Range(Split(Cells(, y).Address, "$")(1) & "2:" & Split(Cells(, y).Address, "$")(1) & ws.Range("A1").SpecialCells(xlCellTypeLastCell).Row) Next y End Sub 可以导入简单的HTML,但它不适用于大多数现代网站。在这种情况下,importXml()也无法检索importXml()div等。但是,您可以获取整个span然后解析它。

只需将您的XPath查询更改为html即可。从源头上看,您知道在哪里以及如何找到评级。所以只需//html获取它。

样本表为here。我和其他几家酒店一起测试过,它运行良好。