Go抓取网页数据并存入MySQL和返回json数据<一>

Arron_yr · · 2099 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

前言

很久前就想学习GO,但是由于准备读研和要实习就一直耽搁没动手,只是偶尔看一下相关的基本语法,并没有将其具体地运用到实际的编码中。大四了,课程一下子少了很多,于是决定用它从网上抓一些图片数据,然后提供接口,为后面学习iOS提供一些网络数据。

有关GO的介绍我就不在这里说了,对于我这种初学者本来说得就不清不楚,多给自己落下话柄。
我要实现的功能主要有如下几点:

  • 从精美图片网站抓取图片链接等数据;

  • 将获取的数据存入MySQL数据库;

  • 提供一个简单的json接口使得自己能通过某链接获取json数据。

准备工作

安装GO并配置环境

因为我自己使用的时OS X,也写了一个mac安装GO的文章,如果使用mac的话可以参考一下。windows下百度也会很好解决。

分析小程序

$GOPATH/src下的创建一个项目文件夹indiepic作为这次小程序的目录。GO的每一个项目有且仅有一个package main,在项目文件夹下新建一个GO文件indiepic.go作为主文件:

package main

import "fmt"

func main () {
    fmt.Println("Hello World")
}

因为后面会启动该文件,然后提供HTTP接口提供数据,所以为了可读性将抓取数据并存入数据库等操作放入该项目的一个中,而且抓取数据的操作会很少被操作,不需要在每次启动都执行,所以将其组织到一个package中是不错的方法,这样只需在需要抓取的时候在main函数中调用接口。

因此,在项目文件夹中新建一个crawldata文件夹,该文件就是我们需要的package。下面需要的抓取数据和将数据存入数据库以及从数据库中获取数据都写为该包下的一个函数。

crawldata文件夹下新建crawldata.godatabase.go文件。一个与抓取数据有关,一个与数据库存取数据有关。
文件夹结构如下:

indiepic
├── README.md
├── crawldata
│   ├── crawldata.go
│   └── database.go
└── indiepic.go

下一步就开始实现数据抓取部分的功能。
主要抓取图片网站 http://www.gratisography.com/


有疑问加站长微信联系(非本文作者)

本文来自:Segmentfault

感谢作者:Arron_yr

查看原文:Go抓取网页数据并存入MySQL和返回json数据<一>

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

2099 次点击  
加入收藏 微博
上一篇:godep使用注意
下一篇:Go-简洁的并发
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传