使用带有Google脚本的importHTML / XML抓取网页的难度很大

时间:2015-01-18 19:55:08

标签: web-scraping google-sheets formulas

我在使用Google Scripts抓取特定网站(http://www.bbc.co.uk/sport/football/premier-league/results)时遇到问题。查看源代码我可以看到结果是使用表构建的,但importHTML始终返回#N / A(错误:导入的内容为空)。

=IMPORTHTML("http://m.bbc.co.uk/sport/football/premier-league/results", "table", 1)

我还没有运气使用importXML。

=IMPORTXML("http://www.bbc.co.uk/sport/football/premier-league/results", "//*[@id="blq-content"]/div[2]")

非常感谢任何建议!

2 个答案:

答案 0 :(得分:0)

页面上的代码是不正确的xml(尝试在任何在线xml查看器上进行解析。我使用this,在编写此答案的日期显示了5个错误)。因此XPath不适用于importXML。另外,importHTML也不适用于格式不正确的XML。

答案 1 :(得分:0)

试试这个:

=substitute(regexextract(regexreplace(importxml("http://www.bbc.co.uk/sport/football/premier-league/results","//html"),"\n",","),".*(Premier League Results .*)"),",",char(10))

我所做的是通过importxml拉入html,这是实际返回数据的唯一元素 - 然后我在表格之前重新放置了页面上的所有废话。

我还替换了回车和新线来获取所有数据,所以我把它挤在一起,然后在他们的位置添加我自己的回车。