使用Go刮取HTML下拉列表?

时间:2017-03-26 15:07:39

标签: go web-scraping

我正在使用包golang.org/x/net/html从HTML页面中删除数据,到目前为止这一点一直很好用。但是,我不知道如何从下拉列表中提取数据,如下所示:

<!DOCTYPE html>
<html>
<body>

<select name="car" size="1" id="car">
  <option value="volvo">Volvo</option>
  <option value="saab">Saab</option>
  <option value="vw">VW</option>
  <option value="audi" selected>Audi</option>
</select>

<select name="animal" size="1" id="animal">
  <option value="dog">Dog</option>
  <option value="cat" selected>Cat</option>
  <option value="badger">Badger</option>
  <option value="mouse">Mouse</option>
</select>

我想提取预先选择的选项,结果就是这样:

car = audi
animal = cat

我怎样才能做到这一点?如果golang.org/x/net/html无法做我想做的事情,我还能做些什么来提取数据?

2 个答案:

答案 0 :(得分:0)

您绝对可以使用“net / html”:

rsi

P.S。这段代码可以改进。

答案 1 :(得分:0)

也许使用gokogiri用于xpath选择器:

car, _ := doc.Search("//select[@id='car']/option[@selected]/text()")
animal, _ := doc.Search("//select[@id='animal']/option[@selected]/text()")