-1

我试图在这里的上升表中获取搜索词及其值:

http://www.google.com/trends/explore#cat=0-14&date=today%207-d&cmpt=q

我无法弄清楚它们所在的 html 标记/类/路径。我该如何解决?我尝试查看源代码,但没有太大帮助。

非常感谢任何帮助 - 谢谢!安托万

4

1 回答 1

0

以下代码段将返回一个数组数组(总体数组包含页面中每个表的值)。每个数组元素都有一个数组,其中每个表格行都是一个对象,分为“术语”和“值”。

var tableValues = [];
var t = document.querySelectorAll(".trends-table-data");
if(t.length>0){
     var rows, row, cells, values;
     for(var i=0; i<t.length; i++){
          values = [];
          rows = t[i].getElementsByTagName("tr");
          for(var r=0; r<rows.length; r++){
               row = rows[r];
               if(row.className.indexOf('trends-table-row')===-1) continue;
               cells = row.getElementsByTagName("td");
               values.push({
                   term: cells[0].innerText.replace(/^\s+|\s+$/g, ''),
                   value: cells[1].innerText.replace(/^\s+|\s+$/g, '')
               });
          }
          tableValues[i] = values;
     }
     console.log(tableValues);
}

由于页面上有两个表,因此您引用的页面的输出是:

tableValues = [[{"term":"friv","value":"100"},{"term":"baby","value":"55"},{"term":"hot","value":"50"},{"term":"girls","value":"45"},{"term":"games","value":"45"},{"term":"juegos","value":"30"},{"term":"العاب","value":"25"},{"term":"love","value":"25"},{"term":"bible","value":"20"},{"term":"india","value":"20"}],[{"term":"sophiya haque","value":"Breakout"},{"term":"temple run 2","value":"+3,200%"},{"term":"крещение","value":"+700%"},{"term":"dear abby","value":"+450%"},{"term":"temple run","value":"+200%"},{"term":"amber heard","value":"+130%"},{"term":"plein champ","value":"+130%"},{"term":"paranormal activity 4","value":"+90%"},{"term":"scientology","value":"+70%"},{"term":"mama","value":"+60%"}]]
于 2013-01-24T16:21:24.460 回答