1. 从github上下载mysql连接所需要的库。也可直接在GitHub上下载,然后保存到GOPATH目录中,MySQL驱动地址https://github.com/Go-SQL-Driver/MySQL。在import的时候,go会直接在gopath中找相关的包。
推荐使用命令行方式,只要一句代码就实现,然后就直接在代码中用。
$ go get -u github.com/go-sql-driver/mysql
2. 现在贴出代码
就增加了几行代码,就可以实现将结果存入数据库。前面部分(两个方法)
checkErr(errWhere string, err error)
saveToBlogDb(title, author, blogUrl, publishTime, readTimes string) (lastId int64)
是添加的代码,在获取到博客作者、发布时间后立即传入MySQL(关键)。
getBlogDetail(blogUrl string) (blogDetail string, err error) //里面传入到数据库
多进程编程,最主要是考虑逻辑关系和方法实现的位置。如果选择在全部爬取到result后传入MySQL会比较麻烦,需要实现算法来提取数据。
后面部分是我上一篇博客的内容。具体请看 Go 语言实现并发爬虫
数据库sql脚本
CREATE TABLE `blogdb`.`blog_info` (
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
`title` VARCHAR(100) NULL,
`author` VARCHAR(45) NULL,
`blog_url` VARCHAR(100) NULL,
`publish_time` VARCHAR(45) NULL,
`read_times` VARCHAR(45) NULL,
PRIMARY KEY (`id`));
package main
import (
"database/sql"
"fmt"
"io"
"net/http"
"os"
"regexp"
"strconv"
_ "github.com/go-sql-driver/mysql"
)
func checkErr(errWhere string, err error) {
if err != nil {
fmt.Printf("errWhere