[已解决]求助,如何获取 leetcode 的问题说明和函数内容?

以最新的 779 题为例,链接 https://leetcode.com/problems/k-th-symbol-in-grammar/description/


我想抓取题目描述和 go 函数。


我不懂前端,所以想请教大家该如何实现这个需求呢?

已邀请:

aQua - 80后IT男

赞同来自:

package main

import (
"fmt"
"log"

"github.com/PuerkitoBio/goquery"
)

func getDescription() {
doc, err := goquery.NewDocument("https://leetcode.com/problems/k-th-symbol-in-grammar/description/")
if err != nil {
log.Fatal(err)
}

doc.Find("meta[name=description]").Each(func(i int, selection *goquery.Selection) {
fmt.Println(selection.Attr("content"))
})
}

func main() {
getDescription()
}

已经可以学会获取问题描述了,请问需要获取go 函数

aQua - 80后IT男

赞同来自:

package main

import (
"context"
"log"

"github.com/chromedp/chromedp"
)

func main() {
var err error

// create context
ctxt, cancel := context.WithCancel(context.Background())
defer cancel()

// create chrome instance
c, err := chromedp.New(ctxt, chromedp.WithLog(log.Printf))
if err != nil {
log.Fatal(err)
}

// run task list
var function string
err = c.Run(ctxt, getFunction(&function))
if err != nil {
log.Println("Run error")
log.Fatal(err)
}

// shutdown chrome
err = c.Shutdown(ctxt)
if err != nil {
log.Println("Shutdown error")
log.Fatal(err)
}

// wait for chrome to finish
err = c.Wait()
if err != nil {
log.Println("Wait error")
log.Fatal(err)
}

log.Println(function)
}

func getFunction(function *string) chromedp.Tasks {
textarea := `//textarea`
btn := `#question-detail-app > div > div:nth-child(3) > div > div > div.row.control-btn-bar > div > div > div > div > span.Select-arrow-zone`
goSel := `#react-select-2--option-9`
return chromedp.Tasks{
chromedp.Navigate(`https://leetcode.com/problems/ ... tion/`),
chromedp.Click(btn, chromedp.ByID),
chromedp.Click(goSel, chromedp.ByID),
chromedp.Text(textarea, function),
}
}

2018/02/13 19:22:33 func kthGrammar(N int, K int) int {

}

第二个问题也解决了

要回复问题请先登录注册