golang 爬蟲實現(一)

來源:互聯網
上載者:User
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。

一、環境準備

1、編譯器,intellij idea。

下載地址:https://d1opms6zj7jotq.cloudfront.net/idea/ideaIC-2016.1.2b.exe

下載完,直接安裝。安裝之後的編輯器不支援golang。需要添加支援golang的外掛程式,添加外掛程式有兩種方法。

第一種:

(1)點擊file->setttings->plugins->Browse Repositories;

(2)搜尋go,找到後,點擊install,重起編譯器;


第二種:

(1)下載golang外掛程式的源碼。下載地址:https://codeload.github.com/go-lang-plugin-org/go-lang-idea-plugin/zip/master

(2)編譯源碼,將編譯好的工具,添加到編譯器上。具體方法:http://blog.csdn.net/slug302/article/details/16991323


2、golang編譯環境。

下載地址:http://pc2-dx1.newasp.net/soft/yh/go.windows-amd64.zip

編譯環境安裝也有兩種。

第一種:

直接上官網下載exe檔案,一鍵安裝。


第二種:

這種安裝方式屬於源碼安裝。

下載源碼之後,需要設定環境變數。解壓下載之後的檔案路徑為:D:\go。

添加GOROOT,值為D:\go。同時需要在Path的值加上%GOROOT%\bin。

檢測是否已經安裝成功:

1、開啟cmd,輸入echo %PATH% 看環境變數是否已經加上。沒有的話需要重啟系統。

2、輸入 go version。看是否有資訊輸出。


無論哪一種方式,都需要添加GOPATH。

GOPATH是go命令依賴的一個重要環境變數。它與工作目錄掛鈎。坦白講就是你的工作空間。當有多個工作空間時,直接添加,用分號隔開。GOPATH工作目錄約定有三個子目錄:

-src 存放原始碼(比如:.go 等等)

-pkg 存放編譯後產生的檔案(比如:.a)

-bin 存放編譯後產生的可執行環境

以後自己建立應用或者添加第三方庫、程式碼封裝的時候,都存放在src下。

 

3、mysql。

下載地址:http://cdn.mysql.com/Downloads/MySQL-5.7/mysql-5.7.12-winx64.msi

mysql安裝也有兩種方式。

第一種:直接下載.mis檔案,一鍵安裝。


第二種:.zip包安裝。

(1)下載源碼之後,解壓後,需要更改環境變數。往Path添加:D:\mysql5.7\bin(解壓後檔案的路徑);

(2)修改設定檔 my-default.ini.

#basedir = => basedir =D:\mysql5.7
#datadir = => datadir =D:\mysql5.7\data

(3)開啟cmd,輸入:mysqld -install;

(4)net start mysql;

(5)mysql -u root -p。輸完之後會提示輸入密碼,密碼為空白,直接按斷行符號;

(6)use mysql => update user set password=password('123456') where user ='root';(修改root的密碼)

(7)重啟mysql。net stop mysql => net start mysql;


4、安裝mysql驅動

golang操作mysql,需要mysql驅動。mysql驅動源碼下載:https://github.com/go-sql-driver/mysql

(1)下載完源碼之後,將源碼拷貝到GOPATH的工作目錄src下;

(2)開啟cmd,cd至放驅動源碼的地方;

(3)go install;開啟GOPATH目錄pkg,可以看到產生的.a檔案,也就是mysql驅動檔案。

(4)寫代碼測試是否可以串連資料庫。代碼如下:

package mainimport ("database/sql""fmt"_ "reptiles/src/mysql-driver"//產生驅動檔案的目錄名字)type User struct {id                 intusername, password string}var sqldata map[interface{}]interface{}func main() {var u Userdb, err := sql.Open("mysql", "root:123456@tcp(127.0.0.1:3306)/splider?charset=utf8")check(err)//插入資料stmt, err := db.Prepare("INSERT t_test SET s_username=?,s_pwd=?")check(err)res, err := stmt.Exec("xiaowei", "xiaowei")check(err)id, err := res.LastInsertId()check(err)fmt.Println(id)//查詢資料rows, err := db.Query("SELECT * FROM t_test")check(err)fmt.Println(rows.Columns())userinfo := make(map[interface{}]interface{})for rows.Next() {err := rows.Scan(&u.id, &u.username, &u.password)check(err)userinfo[u.id] = u}fmt.Println(userinfo)}func check(err error) {if err != nil {fmt.Println(err)}}




聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.