Go 爬虫如何延迟获取页面内容

闲来无事,想整个爬虫爬漫画看:http://www.pufei8.com/manhua/419/376901.html

爬到的内容一直是 Loading 页面,而不是我要的带漫画的页面
Loading:
image.png
我要的:
image.png
附源码:

package main

import (
	"fmt"
	"io"
	"log"
	"net/http"
	"time"
)

func HttpGet2(url string) (result string, err error) {
	log.Println(url)
	resp, err := http.Get(url)
	if err != nil {
		return result, err
	}

	defer resp.Body.Close()

	time.Sleep(time.Second * 1000)
	// 循环读取 网页数据, 传出给调用者
	buf := make([]byte, 4096)
	for {
		n, err := resp.Body.Read(buf)
		if n == 0 {
			fmt.Println("读取网页完成")
			break
		}
		if err != nil && err != io.EOF {
			return result, err
		}
		// 累加每一次循环读到的 buf 数据,存入result 一次性返回。
		result += string(buf[:n])
	}
	return
}

func main() {
	v := "http://www.pufei8.com/manhua/419/373107.html?page=1"
	str, err := HttpGet2(v)
	log.Println(err)
	log.Println(str)
}
  • golang

    Go 语言是 Google 推出的一种全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性。谷歌首席软件工程师罗布派克(Rob Pike)说:我们之所以开发 Go,是因为过去 10 多年间软件开发的难度令人沮丧。Go 是谷歌 2009 发布的第二款编程语言。

    417 引用 • 1336 回帖 • 677 关注
  • 爬虫

    网络爬虫(Spider、Crawler),是一种按照一定的规则,自动地抓取万维网信息的程序。

    93 引用 • 239 回帖 • 1 关注
  • Q&A

    提问之前请先看《提问的智慧》,好的问题比好的答案更有价值。

    1761 引用 • 11536 回帖 • 581 关注

赞助商 我要投放

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • DASHU

    用 phantomjs 采集,或者采集 js 的内容

  • Gakkiyomi2019

    trollface

    闲来无事

  • 233333 2 评论

    doge 面对这种还是用 selenium 比较香

    不会 PY
    InkDP
    @InkDP github.com/tebeka/selenium
    233333
  • csfwff

    doge 简单点,换个站
    huaji