思路
1、明确要爬取的网站和信息
2、爬取网站得到全部信息
3、提取出有用的信息
4、进行保存,或者进一步爬取信息
代码
可以使用get和post进行访问网站,以下是爬取网站信息的一个实例
package main
import (
"fmt"
"strconv"
"net/http"
"regexp"
"os"
)
/*
这是一个爬虫的实战练习
爬取https://duanziwang.com/网站的有用信息
并按照分页来使用go协程
*/
//进行网页爬取
func WormWork(neturl string)(string,error){
requ,err:=http.Get(neturl)
if err!=nil{
return "",err
}
var bifu =make([]byte,4*1024)
var dastr string
defer requ.Body.Close()
for{
n,err1:=requ.Body.Read(bifu)
if n==0||err1!=nil{
break
}
dastr+=string(bifu[:n])
}
return dastr,nil
}
//获取到主页面有用的信息并返回
func GetUseData(data string)(uselink []string){
reg :=regexp.MustCompile(`<h1 class="post-title"><a href="(.{3,})">`)
datati:=reg.FindAllString(data,10)
for _,v:=range datati {
usreg :&