go实现网页爬虫,并将结果保存到mysql

本文介绍了如何使用Go语言编写一个网页爬虫,通过下载MySQL驱动并导入,实现数据的抓取与存储。关键在于在获取博客信息后立即存入数据库,采用多进程编程以实现高并发。同时提供了数据库的SQL脚本和最终的数据结果展示。
摘要由CSDN通过智能技术生成

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
  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值