GoCN每日新闻(2017-06-25)

回复

每日新闻astaxie 发起了问题 • 1 人关注 • 0 个回复 • 19 次浏览 • 2 小时前 • 来自相关话题

GoCN每日新闻(2017-06-24)

回复

每日新闻astaxie 发起了问题 • 1 人关注 • 0 个回复 • 122 次浏览 • 1 天前 • 来自相关话题

GOLANG如何避免字符串转义

技术讨论winlin 发表了文章 • 0 个评论 • 74 次浏览 • 1 天前 • 来自相关话题

避免转义字符,例如造个json:

json.Unmarshal(`{"code":0, "data":{"server":"127.0.0.1:8080"}}`)查看全部
					

避免转义字符,例如造个json:


json.Unmarshal(`{"code":0, "data":{"server":"127.0.0.1:8080"}}`)

是不是太简单了点,但是我好像并不总是记得。

GoCN每日新闻(2017-06-23)

回复

每日新闻astaxie 发起了问题 • 2 人关注 • 0 个回复 • 237 次浏览 • 2 天前 • 来自相关话题

GoCN每日新闻(2017-06-22)

回复

每日新闻astaxie 发起了问题 • 1 人关注 • 0 个回复 • 319 次浏览 • 3 天前 • 来自相关话题

golang解析网页,可以做爬虫了

Golang朋也 发表了文章 • 0 个评论 • 310 次浏览 • 3 天前 • 来自相关话题

java里用Jsoup,nodejs里用cheerio,都可以相当方便的解析网页,在golang语言里也找到了一个网页解析的利器,相当的好用,选择器跟jQuery一样

安装

... 查看全部

java里用Jsoup,nodejs里用cheerio,都可以相当方便的解析网页,在golang语言里也找到了一个网页解析的利器,相当的好用,选择器跟jQuery一样



安装


go get github.com/PuerkitoBio/goquery

使用


其实就是项目的readme.md里的demo


package main

import (
"fmt"
"log"

"github.com/PuerkitoBio/goquery"
)

func ExampleScrape() {
doc, err := goquery.NewDocument("http://metalsucks.net")
if err != nil {
log.Fatal(err)
}

// Find the review items
doc.Find(".sidebar-reviews article .content-block").Each(func(i int, s *goquery.Selection) {
// For each item found, get the band and title
band := s.Find("a").Text()
title := s.Find("i").Text()
fmt.Printf("Review %d: %s - %s\n", i, band, title)
})
}

func main() {
ExampleScrape()
}

乱码问题


中文网页都会有乱码问题,因为它默认是utf8编码,这时候就要用到转码器了


安装 iconv-go


go get github.com/djimenez/iconv-go

使用方法


func ExampleScrape() {
res, err := http.Get(baseUrl)
if err != nil {
fmt.Println(err.Error())
} else {
defer res.Body.Close()
utfBody, err := iconv.NewReader(res.Body, "gb2312", "utf-8")
if err != nil {
fmt.Println(err.Error())
} else {
doc, err := goquery.NewDocumentFromReader(utfBody)
// 下面就可以用doc去获取网页里的结构数据了
// 比如
doc.Find("li").Each(func(i int, s *goquery.Selection) {
fmt.Println(i, s.Text())
})
}
}
}

进阶


有些网站会设置Cookie, Referer等验证,可以在http发请求之前设置上请求的头信息


这个不属于goquery里的东西了,想了解更多可以查看golang里的 net/http 包下的方法等信息


baseUrl:="http://baidu.com"
client:=&http.Client{}
req, err := http.NewRequest("GET", baseUrl, nil)
req.Header.Add("User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36")
req.Header.Add("Referer", baseUrl)
req.Header.Add("Cookie", "your cookie") // 也可以通过req.Cookie()的方式来设置cookie
res, err := client.Do(req)
defer res.Body.Close()
//最后直接把res传给goquery就可以来解析网页了
doc, err := goquery.NewDocumentFromResponse(res)

参考



可以愉快的爬人家的网站了




原文:https://tomoya92.github.io/2017/06/21/golang-goquery/

GoCN每日新闻(2017-06-21)

回复

每日新闻astaxie 发起了问题 • 2 人关注 • 0 个回复 • 354 次浏览 • 4 天前 • 来自相关话题

GoCN每日新闻(2017-06-20)

回复

每日新闻astaxie 发起了问题 • 1 人关注 • 0 个回复 • 321 次浏览 • 5 天前 • 来自相关话题

GoCN每日新闻(2017-06-19)

回复

每日新闻astaxie 发起了问题 • 1 人关注 • 0 个回复 • 350 次浏览 • 6 天前 • 来自相关话题

GoCN每日新闻(2017-06-18)

回复

每日新闻astaxie 发起了问题 • 1 人关注 • 0 个回复 • 330 次浏览 • 2017-06-18 11:33 • 来自相关话题

GoCN每日新闻(2017-06-17)

回复

每日新闻astaxie 发起了问题 • 1 人关注 • 0 个回复 • 337 次浏览 • 2017-06-17 11:52 • 来自相关话题

GoCN每日新闻(2017-06-15)

回复

每日新闻astaxie 发起了问题 • 1 人关注 • 0 个回复 • 332 次浏览 • 2017-06-15 08:53 • 来自相关话题

【北京急聘】技术流互联网公司派派 诚招golang开发工程师及资深服务器开发

招聘应聘gomaster_me 发表了文章 • 0 个评论 • 450 次浏览 • 2017-06-14 23:55 • 来自相关话题

职位诱惑: B轮,IPO,扁平化管理,绩效奖金 职位描述:

工作职责:

  1. 参与产品基础服务平台的设计、研发工作,提升产品稳定性;

  2. 与产品经理尝试沟通产品需求;

    查看全部

职位诱惑:
B轮,IPO,扁平化管理,绩效奖金
职位描述:


工作职责:




  1. 参与产品基础服务平台的设计、研发工作,提升产品稳定性;




  2. 与产品经理尝试沟通产品需求;




  3. 进行相关产品的技术文档编写,方案设计;



  4. 学习研究业界先进技术,保持技术进步。


任职资格:




  1. 本科及以上学历,计算机相关专业,1年以上服务端研发经验;




  2. 深入理解计算机原理,有扎实的数据结构和算法基础;




  3. 深入理解linux系统及其原理,熟悉TCP/IP、HTTP协议以及网络编程;




  4. 良好的编码和文档习惯,对代码美感的追求孜孜不倦;




  5. 精通Go/C/C++/Python等至少一门语言,有Go开发经验者优先;




  6. 熟悉常用的sql、nosql数据库原理,阅读和理解优秀的开源系统代码;



  7. 具有分布式系统设计和开发经验者优先。


工作地点 北京 具体请发简历到邮箱(请注明来源 来自gocn.io) : gomaster_me@sina.com 我们将尽可能以最快的速度回复您。

GoCN每日新闻(2017-06-14)

回复

文章分享astaxie 发起了问题 • 1 人关注 • 0 个回复 • 309 次浏览 • 2017-06-14 10:58 • 来自相关话题

[上海]中通快递 招聘 Golang 开发工程师 (12~40k)

回复

招聘应聘u0x01 发起了问题 • 1 人关注 • 0 个回复 • 494 次浏览 • 2017-06-13 12:05 • 来自相关话题