Go语言中文网 为您找到相关结果 92

golang:xpath选择器“htmlquery”简单用法

在做爬虫时,经常要用到html解析器提取数据,Python里面有神器lxml,go里面可以选择htmlquery或者goquery。其中htmlquery使用xpath选择器,goquery使用css选择器。就使用体验来说,htmlquery更方便一些,这儿主要介绍htmlquery的一些基本用法。 htmlquery是用于HTML的XPath数据提取库,可让通过XPath表达式从HTML文档中提取数据,使用起来很简单方便。xpath语法见https://www.w3school.com.cn/xpath/xpath_syntax.asp。 htmlquery安装: go get github.com/antchfx/htmlquery 经常使用到的函数有: func Parse(r io....阅读全文

博文 2019-10-30 18:32:53 aside section._1OhGeD

go语言解析html

有两个不错的库: https://github.com/PuerkitoBio/goquery 一个是 http://code.google.com/p/go.net/html html是html的解析器,把html文本解析出来,goquery基于html包,在此基础上结合cascadia 包(一个css选择器工具),实现类似于jquery的功能,操作html非常方便。 使用goquery来查找,选择相应的html节点,但如果要对选择的节点进行修改,删除操作,还需要深入使用html包。 html包把html文本解析为一个树,这个树有很多Node组成,操作的核心就在于对Node的操作。 用几个例子来说明一下吧: doc, err := goquery.NewDocument("http://s...阅读全文

博文 2015-08-06 20:00:07 nop4ss

golang工程师面试第三天

**1**.简述golang中make和new的区别 make用于内建类型(只能用于创建map、slice 和channel)的内存分配。并且返回一个有初始值(非零)的T类型,而不是*T。 new用于各种类型的内存分配。new(T)分配了零值填充的T类型的内存空间,并且返回其地址,即一个*T类型的值。用Go的术语说,它返回了一个指针,指向新分配的类型T的零值。有一点非常重要:**new返回指针**。 **2**.简要描述go中的main和init函数的区别 首先,这两个函数应用位置不同,init函数可以应用于所有的package,main只能应用于 package main,需要注意的是虽然一个package中可以写任意多个init,但是无论是从可读性还是可维护性来说,都是不推荐的; 其次,...阅读全文

博文 2018-01-15 21:36:48 yinshidaoshi

liteIDE 快捷键改装

LiteIDE改装 最近一直都在使用liteIDE做开发。公司的项目很紧张,但是在这个周末。还是偷偷的对liteIDE小不爽的地方进行了一些小的改造。 IDE上的run按钮就是运行当前的go文件。 首先我们项目运行只是运行统一或者少数的入口点每次点开固定的文档才能run真的是够了。另外一个主要的原因在于liteIDE没有project管理支持。 而且这个IDE貌似没有出很长时间一般的RCP平台都是有插件开发的。但是这没有插件开发(貌似是有。而且是用python写的)但是,没找到文档(截至 2015年1月19日)也是醉了。 关键入口点还是我在google Code上找到的一个文档。 在配置中的LiteBuild里面有一个gosrc.xml 这个配置文件能修改buttion调用的命令。好吧就只能...阅读全文

博文 2015-03-07 21:32:39 jianyingLi

golang学习之struct

结构体定义的一般方式如下: type identifier struct { field1 type1 field2 type2 ... } type T struct {a, b int} 也是合法的语法,它更适用于简单的结构体。 var t *T t = new(T) 变量 t 是一个指向 T的指针,此时结构体字段的值是它们所属类型的零值,使用 new 函数给一个新的结构体变量分配内存,它返回指向已分配内存的指针。 无论变量是一个结构体类型还是一个结构体类型指针,都使用同样的 选择器符(selector-notation) 来引用结构体的字段,即: type myStruct struct { i int } var v myStruct // v是结构体类型变量 var p *mySt...阅读全文

博文 2016-06-15 09:00:00 caiya928

比原链CEO朗豫:重金启动MOV生态建设,这会是第一个分布式区块链商业生态

11月8日,由巴比特主办的2019世界区块链大会·乌镇在乌镇互联网国际会展中心正式开幕。在比原链“Keep MOVing”专场活动上,比原链CEO朗豫做了主题分享。 以下内容来自朗豫分享,经巴比特整理。 朗豫 稳定运行2年,主、侧、跨发展方向破解不可能三角难题 2018年底、2019年初时,我们讲稳定、安全和繁荣。 我们都实现了。目前,比原链已无故障运行近2年,侧链也已平稳运行3个半月。没有稳定的系统就不可能有稳定的应用。去年,我们的算力摆脱了GPU的影响进入平稳发展阶段,钱包客户端也没有出现资损情况。我们的开发者社区诞生了一本已出版的技术解读类图书。我们也加入了golang这个大技术社区。在政务和商务应用方面,我们也进入了比较好的状态。 在技术上,我们实现了侧链Vapor,完善了基于比原链...阅读全文

博文 2019-11-11 09:33:37 更多精彩内容POW的比原链为何要做Staking?长铗或解锁你认知“资产”新姿势 | Bystack火石计划巴比特资讯Bystack开启共识节点全球招募,长铗首次详细描述Bystack的世界观、现状和未来巴比特资讯拼流量、拼资源、拼技术—— BaaS已沦

Go WebSocket 简单使用

WebSocket在 HTML5 游戏和网页消息推送都使用比较多。WebSocket 是 HTML5 的重要特性,它实现了基于浏览器的远程socket,它使浏览器和服务器可以进行全双工通信。 WebSocket 具体的特性和 http 的区别这里就不多说,可以去自己查一下。 Go 官方没有提供对 WebSocket 的支持,必须选择第三方提供的包。《Go Web 编程》一书中的例子使用了 golang.org/x/net 下的 websocket 包。 另外一个使用比较多的是 gorilla/websocket ,我接触的项目是使用的这个。下面我就以 gorilla/websocket 来写一个简单的通信示例。 gorilla/websocket 的资料参考: GitHub:https://...阅读全文

博文 2019-01-26 01:34:45 VIL凌霄

golang select 选择器的两种方案

golang select 选择器 常规模式: package main import ( "fmt" "strconv" ) func main() { var chs1 = make(chan int) var chs2 = make(chan float64) var chs3 = make(chan string) var ch4close = make(chan int) defer close(ch4close) go func(c chan int, ch4close chan int) { for i := 0; i < 5; i++ { c <- i } close(c) ch4close <- 1 }(chs1, ch4close) go func(c chan floa...阅读全文

博文 2014-10-04 19:26:08 eclipser1987

Go by Example 中文版

[gobyexample](https://gobyexample.com/) 应该很多 gopher 都知道。现在有网友翻译成了中文版,可以对照着看看。 Go 是一个被设计用来建立简单,快速和可信赖的软件的开源程序设计语言。 Go by Example 是一个实践性的通过带注释的例子程序去介绍 Go。 [中文版](http://gobyexample.everyx.in/) 查看[第一个例子](http://gobyexample.everyx.in/hello-world/)。以下是例子主题: 你好,世界 值 变量 常量 For循环 if/else 分支 分支结构 数组 切片 关联数组 Range 遍历 函数 多...阅读全文

多云环境应用管理平台OpenPitrix

OpenPitrix 是一个将应用程序打包和部署到诸如 QingCloud,AWS,Kubernetes 等多个云环境中的开放平台. Pixrix [Paitriks] 是指 PaaS 和 IaaS 的矩阵,可以轻松开发,部署,管理各种应用程序,包括各种 PaaS 运行时环境,即 Pitrix = PaaS + IaaS + Matrix。 它也意味着一个包含无尽的矩阵(PI - 希腊字母“π”)应用程序。 设计: 基本思想是解耦应用程序存储库和运行时环境。 应用程序可以运行的运行时环境是通过匹配运行时环境的标签和应用程序所在的存储库的选择器。详情请查看[如何设计项目](https://github.com/openpitrix/openpitrix/blob/master/docs...阅读全文

问答 APP 自动答题助手Answer Helper

问答 APP 自动答题助手,适用于 百万英雄 / 芝士超人 / 冲顶大会 / 花椒百万赢家 等多个直播答题类 APP,支持 iOS、Android 手机和模拟器,3 秒出结果,可以自动答题。 ![image](https://raw.githubusercontent.com/henson/Answer/master/doc/1.png) 超快的响应速度 支持iOS、Android 支持真机测试和模拟器 全面覆盖百万英雄/芝士超人/冲顶大会/花椒百万赢家等多个直播答题类APP 优化搜索逻辑保证高正确率 多维度参考值,答案交叉验证 自动答题(目前仅支持Android...阅读全文

最强围棋程序Alpha Go 浅析

最强围棋程序Alpha Go 浅析 去年谷歌的围棋程序Alpha Go一举打败所有已知的围棋AI程序,以及以5:0的大比分打败了专业棋手Fan Hui。随后在《nature》上报到了Alpha Go 的内幕。作为一个伪的围棋爱好者和一个机器学习爱好者,看了该文章,并看了其他的分析,写下自己的心得: 围棋的智能对弈程序最早当属我国的手谈,那个时期的自动对弈程序属于经验型的。随后从国外对围棋研究后,产生了蒙特卡洛树搜索的方法应运于围棋对弈,产生了一系列的强AI,可以达到业余水准,关于蒙特卡洛树搜索可以参看《基于蒙特卡洛树搜索的计算机围棋博弈研究》,可以说对该方法进行了详细的说明,阅读也较容易,可以得到围棋AI的一些背景,制约蒙特卡洛方法更近一步的原因是:树的展开,以及搜索的深度的确定。于此同时,...阅读全文

select in Go's runtime

select可以用来管理多个channel的读写,以及实现channel读写timeout等。select并不是以库的形式提供,而是语言级支持的语法特性,因此select的实现主要由编译器和runtime共同完成,本文将重点关注runtime部分。 select语句的执行主要由4个阶段组成,依次是创建select对象,注册所有的case条件,执行select语句,最后释放select对象。这里提到的select对象是底层runtime维护的一个Select结构,这个对象对Go程序来说基本是透明的。后面的内容中,我将称这个select对象为选择器。 选择器内存模型(Select) 这里内存模型主要是描述的选择器在内存是如何布局的,是什么样的数据结构来维护的。源码位于runtime/chan.c...阅读全文

博文 2014-11-10 09:44:38 skoo

Golang 网络爬虫框架gocolly/colly 三

Golang 网络爬虫框架gocolly/colly 三 熟悉了《Golang 网络爬虫框架gocolly/colly 一》和《Golang 网络爬虫框架gocolly/colly 二》之后就可以在网络上爬取大部分数据了。本文接下来将爬取中证指数有限公司提供的行业市盈率。(http://www.csindex.com.cn/zh-CN/downloads/industry-price-earnings-ratio) 定义数据结构体, //证监会行业市盈率 type ZhjhHyShyl struct { Hydm string `json:"行业代码"` Hymc string `json:"行业名称"` Zxsj *float64 `json:"最新数据"` Gpjs int `json:...阅读全文

博文 2017-12-31 05:30:00 majianguo

如何做好自适应网站

想要自己动手做一个好网站,首先你要了解网站建设的步骤、流程、所需的要素。做网站不是说一朝一夕就能马上完成的,一个好网站是要通过不停的测试与修改才能算做好一个网站。而不是把一个网站做出来就完事了,还要通过各方面的测试与体验才能更好的完善出一个完美的网站。网站建设的过程是枯燥乏味的,做网站也考验耐心。做为资深网站测评者的小编,今天给大家说说怎么来断定一个网站的好与坏呢? 一、 网站的响应速度 一个网站最重要是浏览用户的体验,如果网站的响应速度慢,就会导致用户在体验时的兴趣大大减少。 二、 网站内容的丰富性 网站内容要多样式,不能太过单一,就算是企业型展示网站也不能光是做一些行业的宣传。要多做点关于行业内的新闻,这样整个网站才会感觉有内容。 三、 网站的快...阅读全文

【原创】k8s源码分析------第三方库go-restful分析

由本人空间转过来,空间地址为http://user.qzone.qq.com/29185807/blog/1458275362 我们先从go语言的http server来入手 先看net/http包中 server结构体中,有很多参数,其中handler则为入口处理函数。handler其实是一个interface 我们再看net/http包另外一个结构体 ServerMux,其实就是一个实现了Handler的类。并且其也封装了了路由添加的一些函数,方便使用者来进行路由的定制化。 说明:go-restful源码路径为github.com/emicklei/go-restful ,并且为k8s v1.1.1稳定版本中所包含的版本 下面我们进入到go-restful。首先大致说下其框架结构。 一个...阅读全文

博文 2016-03-20 15:00:05 screscent

beego controller响应json时如何忽略空值

beego controller响应json时如何忽略空值:如 ``` { "Id": 0, "Account": "admin", "Password": "", "RoleId": 0, "Status": "", "CreateTime": "0001-01-01T00:00:00Z", "CreateUserId": 0, "UpdateTime": "0001-01-01T00:00:00Z", "UpdateUserId": 0 } ``` 零值数据不返回 只返回 `{“Account”:"admin"}` 代码: ``` func (this *AdminManageController) GetCurrentSysAdm...阅读全文

Google HTML/CSS代码风格指南(中文版)

Google HTML/CSS代码风格指南 修正版本 2.1 背景 本文档定义了HTML/CSS的编写格式和风格规则。它旨在提高合作和代码质量,并使其支持基础架构。适用于HTML/CSS文件,包括GSS文件。 只要代码质量是可以被维护的,就能很好的被工具混淆、压缩和合并。 样式规则 协议 嵌入式资源书写省略协议头 省略图像、媒体文件、样式表和脚本等URL协议头部声明 ( http: , https: )。如果不是这两个声明的URL则不省略。 省略协议声明,使URL成相对地址,防止内容混淆问题和导致小文件重复下载。 ...阅读全文

博文 2015-06-18 18:07:58 chajn

goquery的使用

title: goquery的使用 tags: go,goquery,爬虫 author: Clown95 本文参考 飞雪无痕 的 《golang goquery selector(选择器) 示例大全》 概述 相信很多小伙伴对爬虫有着很大的兴趣,今天我们就来说下go语言的爬虫利器goquery,有使用过jquery的小伙伴是不是看着这个很眼熟?goquery类似jquery,它是jquery的go版本实现,使用它,可以很方便的对HTML进行处理。 goquery是基于 Go net/htm包和css选择器库 cascadia。由于net/htm解析器返回的是DOM节点,而不是完整的DOM树,因此, jQuery的状态操作函数没有实现(像height(), css(), detach) 注意:...阅读全文

博文 2019-04-16 20:34:45 clown1995

URL处理

我对大量的URL作请求并且处理。 首先我只有一个进程开一个循环,每次处理一个URL,有些URL始终不响应, http.Get之后就阻塞了?我要怎样跳掉这个URL? 然后我对于每个URL都开一个进程,我的电脑瞬间就死机了。 而且还会出现runtime panic. 这个应该怎么解决? ...阅读全文

Codis 的设计与实现 Part 2

多 Proxy 架构 在 Codis 的设计中, Proxy 被设计成无状态的,客户端连接任何一个 Proxy 都是一样的。而且每个 Proxy 启动的时候,会在 Zookeeper 上注册一个临时节点, 所以客户端甚至可以根据这个特性实现 HA (其实我在豌豆荚内部就写了一个基于 Jedis 的 Codis HA RoundRobinPool) 当然,这个设计带来的好处是,请求可以被负载均衡,而且在整个系统中不会出现单点。 但是,问题来了,由于 Codis 是动态扩缩容的功能的, 当 Codis 在进行数据迁移的过程中,如何保证任意一个 Proxy 都不会读到老的或者错误的数据? 解释这个问题之前,我想先介绍一下 Codis 的数据存储方式和关于数据迁移的一些前置知识: 数据被根据key,...阅读全文

博文 2015-05-19 10:04:13 c4pt0r

golang chromedp简单学习

需求 有一项重复性工作,就是每天打开监控系统输入一些内容查询结果并截图然后检查发送日报,所以就在想能不能使用go来完成部分工作,查找之后就发现了chromedp,使用起来之后还是发现不少的坑。 安装 因为安装的时候一些包要翻墙,所以使用gopm下载包,具体可以百度gopm gopm get github.com/chromedp/chromedp 报错 刚下载完跑demo,这里提示这几行。 demo 地址https://raw.githubusercontent.com/chromedp/examples/master/click/main.go image.png 我的解决方法是进入handler.go把这几个类型注释掉,如果还有其他好的办法可以告诉我 解决掉上面几行之后,继续跑官方的de...阅读全文

博文 2019-03-30 02:34:39 jinnzy

golang中sync和channel同步机制

sync实例: package mainimport ( "fmt" "sync")var waitgroup sync.WaitGroupfunc Afunction(shownum int) { fmt.Println(shownum) waitgroup.Done() //任务完成,将任务队列中的任务数量-1,其实.Done就是.Add(-1)}func main() { for i := 0; i < 10; i++ { waitgroup.Add(1) //每创建一个goroutine,就把任务队列中任务的数量+1 go Afunction(i) } waitgroup.Wait() //.Wait()这里会发生阻塞,直到队列中所有的任务结束就会解除阻塞} 无缓存的channel实...阅读全文

博文 2015-08-31 17:00:02 徐学良

golang proxy 高性能、自带API的高匿代理抓取工具

golang-proxy v2.0 Golang-Proxy -- 简单高效的免费代理抓取工具通过抓取网络上公开的免费代理,来维护一个属于自己的高匿代理池,用于网络爬虫、资源下载等用途。你还在用Python写的代理抓取工具吗?试试golang!提供开箱即用版本,不需要任何编程基础即可使用 What's new in V2.0? 不再依赖 MySQL 和 NSQ! 之前需要分别启动publisher、consumer和assessor,现在 只需要启动主程序 即可! 提供了高度灵活的 API 接口,在启动主程序后,即可通过在浏览器访问localhost:9999/all 与 localhost:9999/random 直接获取抓到的代理!甚至可以使用 localhost:9999/sql?qu...阅读全文

博文 2018-07-27 14:30:02 storyicon

容器本地工作流引擎Argo Project

Argo是一个开源的容器本地工作流引擎,用于在Kubernetes上完成工作。 Argo实现为Kubernetes CRD(自定义资源定义)。 定义工作流中每个步骤都是容器的工作流。 将多步骤工作流建模为一系列任务,或使用图形(DAG)捕获任务之间的依赖关系。 使用Kubernetes上的Argo工作流程,可以在很短的时间内轻松运行计算密集型作业,以进行机器学习或数据处理。 在Kubernetes上本地运行CI / CD管道,无需配置复杂的软件开发产品。 Argo专为容器而设计,没有传统VM和基于服务器的环境的开销和限制。 Argo是云不可知的,可以在任何kubernetes集群上运行。 Argo with Kubernetes让云量级的超级计算机触手可及。 DAG或基于...阅读全文

开源项目 2018-09-14 09:30:02 网友

Bootstrap列表组listgroup

列表组 列表组是Bootstrap框架新增的一个组件,可以用来制作列表清单、垂直导航等效果,也可以配合其他的组件制作出更漂亮的组件。由于其在Bootstrap是一个独立的组件,所以也对应有自己独立源码: ☑ LESS版本:对应的源码文件 list-group.less ☑ Sass版本:对应的源码文件是 _list-group.scss ☑ 编译出的Bootstrap版本:对应的源码bootstrap.css文件第4820行~第4994行 列表组--基础列表组 基础列表组,看上去就是去掉了列表符号的列表项,并且配上一些特定的样式。在Bootstrap框架中的基础列表组主要包括两个部分: ☑ list-group:列表组容器,常用的是ul元...阅读全文

Bootstrap中的面板

panel 面板 面板(Panels)是Bootstrap框架新增的一个组件,其主要作用就是用来处理一些其他组件无法完成的功能。同样在不同的版本中具有不同的源码: ☑ Less版本:对应的源码文件是 panels.less ☑ Sass版本:对应的源码文件是 _panels.scss ☑ 编译后的Bootstrap:对应bootstrap.css文件第4995行~第5302行 面板--基础面板 基础面板非常简单,就是一个div容器运用了“panel”样式,产生一个具有边框的文本显示块。由于“panel”不控制主题颜色,所以在“panel”的基础上增加一个控制颜色的主题“panel-default”,另外在里面添加了一个“div.panel-body...阅读全文

Less变量详解

  普通的变量   Css默认不支持变量,当我们使用less之后就可以使用。   其定义方式是 @变量名:值 ,如下,我们定义一个变量green,设置一个颜色green,然后将网页背景设置为绿色:   @green: #801f77;   header {   background: @green;   }   注意:由于变量只能定义一次,实际上他们就是“常量”   作为选择器和属性名   使用时将变量以@{变量名}的方式使用,使用例子如下:   作为选择器和属性名的变量   @kuandu:width;   .@{kuandu}{   @{kuandu}:150px   }   注意:这里的变量即使选...阅读全文

写爬虫还在用 python?快来试试 go 语言的爬虫框架吧

今天为大家介绍的是一款 go 语言爬虫框架 -- colly。 开始 首先,你可以使用一下命令安装 colly。 go get -u github.com/gocolly/colly/... 其次,构建 Collector,添加事件,然后访问: package main import ( "fmt" "github.com/gocolly/colly" ) func main() { // 初始化 colly c := colly.NewCollector( // 只采集规定的域名下的内容 colly.AllowedDomains("hackerspaces.org", "wiki.hackerspaces.org"), ) // 任何具有 href 属性的标签都会触发回调函数 // 第一个...阅读全文

博文 2018-12-07 13:34:42 Y_xx

Golang 爬虫

一、go语言爬取豆瓣电影top250 package main import ( "fmt" "io/ioutil" "net/http" "regexp" "time" "os" "strconv" ) //定义新的数据类型 type Spider struct { url string header map[string]string } //定义 Spider get的方法 func (keyword Spider) get_html_header() string { client := &http.Client{} req, err := http.NewRequest("GET", keyword.url, nil) if err != nil { } for key, valu...阅读全文

博文 2019-03-04 16:34:46 懒皮

【干货分享】前端开发之jquery知识点集锦

学习web前端开发,除了要学习HTML、css、js等基础知识外,jQuery也是必须内容之一。那对于jQuery的学习我们具体要学哪些东西,要学到什么程度呢?且看今天小编为大家分享的jQuery常用知识点集锦。 1、jQuery 概述 我们首先从jQuery最基本的概述说起,jQuery是一个 JavaScript 库,极大地简化了 JavaScript 编程。 2、添加 jQuery 库 在前端开发中,我们如何添加jQuery库呢?其实,jQuery 库位于JavaScript 文件中,其中包含了所有的 jQuery 函数,可通过如下方式添加:   <head>   <script type="text/javascript" s...阅读全文

使用css样式的高级技巧有哪些?

![QQ截图20151013142055.png](http://studygolang.qiniudn.com/151013/aa4270cbd15ee92fbb49ffd31358ebaf.png) 如果要学习前端开发的话,css样式就是必学内容之一,现在做软件开发的,要想提高代码的质量和编程效率,掌握一些编程技巧是必不可少的。废话不多说,今天小编要为大家介绍的就是前端开发中,常用的12个CSS高级技巧。 1、使用 :not() 在菜单上应用/取消应用边框 先给每一个菜单项添加边框 /* add border */ .nav li { border-right: 1px solid #666; } ……然后再除去最后一个...阅读全文

【互联网早报】2017.11.30

## 国内新闻 1.中国“悟空”重磅新成果:我们可能首次看到了暗物质 http://tech.sina.com.cn/2017-11-30/doc-ifypceiq7892012.shtml 2.迅雷与子公司互撕殃及股价 周三暴跌逾31% http://tech.sina.com.cn/i/2017-11-30/doc-ifyphxwa7072305.shtml 3.爱回收运营中心6周年活动:详解用户隐私保护机制 http://tech.sina.com.cn/mobile/n/n/2017-11-24/doc-ifypathz5549517.shtml ## 国际新闻 1.苹果起诉高通:骁龙820处理器存在侵权行为 ...阅读全文

go语言中的if

var maptest = make(map[int]string) maptest[1] = "a" maptest[2] = "b" maptest[3] = "c" maptest[4] = "d" for key, value := range maptest { if key == 1 { fmt.Println(key) } else if key == 2 { fmt.Println(value) } else if key == 3 { fmt.Println(value) } else { fmt.Println(value) }//只有在else结束后if才会开始下一个 if key != 2 { fmt.Println(value) } }//当key=1时下面的语句只...阅读全文

博文 2014-10-04 19:26:46 SSSR

Go 语言中的选择器

在 Go 语言中,表达式 `foo.bar` 可能表示两件事。如果 *foo* 是一个包名,那么表达式就是一个所谓的`限定标识符`,用来引用包 *foo* 中的导出的标识符。由于它只用来处理导出的标识符,*bar* 必须以大写字母开头(译注:如果首字母大写,则可以被其他的包访问;如果首字母小写,则只能在本包中使用): ```go package foo import "fmt" func Foo() { fmt.Println("foo") } func bar() { fmt.Println("bar") } package main import "github.com/mlowicki/foo" func main() { foo.Foo() } ``` 这样的程序会工作正常。但是(主...阅读全文

博文 2018-09-02 22:24:50 cureking

golang爬虫初体验

最近在学习golang,看网上很多人都喜欢爬豆瓣,今天我就写了一个golang版的爬虫。对于python爬虫,我很了解,什么dom树,js异步,爬虫技术栈都是没问题的。 刚接触golang爬虫,今天写了一个很简单的爬虫,就是使用2个库,一个http、goquery 直接上代码 package main import ( "net/http" "fmt" "github.com/PuerkitoBio/goquery" "strconv" ) func GetMovie(url string) { fmt.Println(url) resp, err := http.Get(url) if err != nil { panic(err) } //bodyString, err := iouti...阅读全文

博文 2018-07-30 00:34:51 若与

移动H5前端性能优化指南

脚本执行优化预加载首屏加载 2015 /11/12 15:15 1条评论 移动H5前端性能优化指南 概述 1. PC优化手段在Mobile侧同样适用 2. 在Mobile侧我们提出三秒种渲染完成首屏指标 3. 基于第二点,首屏加载3秒完成或使用Loading 4. 基于联通3G网络平均338KB/s(2.71Mb/s),所以首屏资源不应超过1014KB 5. Mobile侧因手机配置原因,除加载外渲染速度也是优化重点 6. 基于第五点,要合理处理代码减少渲染损耗 7. 基于第二、第五点,所有影响首屏加载和渲染的代码应在处理逻辑中后置 8. 加载完成后用户交互使用时也需注意性能 优化指南 [...阅读全文

Kubernetes 1.2.0 携一大波新特性震撼发布!单集群可管理1000个节点

主要变更(相对于v1.1.1) ## 一、显著增加集群规模 支撑的集群规模增加400%,目前单个集群不损耗性能下,可支持1000个节点,运行30000个Pods。在单个节点上,Kubelet可支持100个Pod,并且性能是v1.1.1的四倍。 **1. 简化应用部署和管理** a. a) Dynimic Configuration功能(动态配置,通过核心API中的ConfigMap API实现)。它使得应用配置可以作为[Kubernetes][1] API对象存储起来,在容器启动时从APIServer动态获取,可以替代通过命令行传入参数的方式。 b. TurnKey Deployments(通过Extensions API中的Deploy API实现,目前仍是B...阅读全文

如何使用OCR图像识别绕过自如房价的反Spider策略

公元2015 第28个秋天 九月的午后,微风吹动窗纱,从24楼看去远处的白云一朵朵的棉花糖浮在空中,两个街角外教堂上的钟敲响了第十三下。 X坐在桌前,双层的书桌上摆满了各种漫画,电脑旁边的《新世纪福音战士》是他最近从旧物箱里重新翻出来的,望了一眼窗外,闭上眼睛深深地吸了一口气。 他又要换房子了,每到这个季节总是要重新换个地方,换一个身份,周围都是陌生人才会让他有安全感,这样就没有人会发现他的秘密。 打开ZR租房的网站,房源的搜索列表页面映入眼前,适合自己的房子总是自己租不起的。但是X还是要从里面挑选最优的。 Spider是个很不错的选择,Goquery也是个很好的选择 军刀工具 Goquery 采用dom的选择器语法,如果使用Chrome非常容易提取元素的选择器。 chrome 右键->检查...阅读全文

博文 2018-08-31 19:34:47 jaysun

后端服务的查询语言和执行引擎GraphQuery

GraphQuery 是一门易于使用的查询语言,它内置了 Xpath/CSS/Regex/JSONpath 选择器和文本处理功能。 你可以使用简洁的 GraphQuery 语法来获取所需的任何数据结构。 使用 GraphQuery 可以统一任何后端语言的文本解析逻辑。 你不需要在不同语言之间找到 Xpath/CSS/Regex/JSONpath 选择器的实现,并熟悉它们的语法或探索它们的兼容性。 可以使用 GraphQuery 解析任何文本并使用自己熟练的选择器。GraphQuery 目前支持以下选择器: 用于解析 JSON 字符串的 Jsonpath 用于解析 XML/HTML 的 Xpath 和 CSS 用于解析任何文本的正则表达式 可以在 GraphQuery 中以任意...阅读全文

国内主机与海外主机的区别是什么

站长建站的时候都遇到过主机选择困难的问题,一个是听上去高大上的国外主机,一个是纷繁多样的国内主机,到底怎么选择?其实,只要了解了它们的区别,选择就容易多了。下面给大家整理了国内和国外主机的六大差别,供大家选购参考。 1、备案:国内主机必须备案,国外主机不需要。 国外主机可以说是懒人福音,但如果为了省略这点手续就选择国外主机,并不值哦。因为现在国内一些主机商会包办备案服务,大家准备资料就可以了。 2、访问速度:国内主机国内访问快,国外主机国外访问快。 如果你的网站主要针对国内用户,选择国内主机才是最合适的,因为国外的服务器在国内的响应速度比较慢,因为网站打不开而丧失客户,实在有点冤。如果是专门做外贸的,建议根据外贸地域选择主机。 3、空间大小:如果说国内主机的空间是香辣鸡...阅读全文

响应式网站定制到底有什么好

很多人对于响应式网站定制会有很大的疑问,响应式网站定制是什么?响应式网站定制投入大吗?其实说起定制网站,简单的说就是找人或者公司按照你的意思来为你做一个网站。很多公司为了跻身进入互联网,实现“互联网+”,所以急需做一个网站,让自己能够开启互联网经营之路。他们更多面对的问题是自己缺乏技术和专业的团队为他们打开这扇互联网大门。对于公司而言,他们最关注的点莫非于:做一个响应式网站要多长时间?网站建设的费用能不能低一些?网站做出来能不能马上有成效? ![u=2607373067,307514015&fm=23&gp=0_副本.jpg](http://studygolang.qiniudn.com/170208/77e1929e7ae593e8f2cd2235b6d31bc0.jpg) 对...阅读全文

golang基础教程-快速入门go语言【含视频】

此教程主要对go语言做了基本的语法和使用介绍,希望可以让想入门的小伙伴可以快速的学习go语言。教程仅有不到2个小时,但是可以快速带你进入golang的世界;如果你花费了4个小时边观看边实践,那么你一定会熟悉golang的基本使用~!~教程内容基本介绍,安装部署,运行第一个程序及基础介绍,开发工具介绍,go module,基础语法,常用数据结构,函数介绍,指针,结构体,接口,错误处理,协程,通道,通道选择器及常用函数。教程目录01-03.golang安装部署.md04.golang开发工具安装.md05.goModules介绍.md06.golang基础语法.md07.golang常用数据结构.md08.golang函数介绍.md09.golang指针结构体接口.md10.golang的错误处...阅读全文

使用Kubernetes 1.2.0的正确姿势

之前,我们介绍了[kubernetes][2] 1.2.0的新特性,还不清楚的童鞋查看[这里][1]。 本文讨论的是使用 kubernetes 1.2.0 的注意事项,包括对周边组件的要求(比如docker的兼容性)、目前已知的bug(kubernetes和docker 1.9)和如何平稳升级。 ## Part I 升级注意事项 1.使用kubernetes 1.2.0 推荐使用Docker v1.9.1,但仍然支持v1.8.3和v1.10。如果你使用的Docker版本太低,请先升级Docker。但Docker v1.9.1存在一些问题,下面我们详细讨论。 2.如果内核支持CPU hardcapping,并且容器设置了CPU limit,那么CPU hardcappi...阅读全文

继Prototype之后又一个优秀的JavaScript代码库,jQuery开发教程送你

课程介绍 jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架)。jQuery设计的宗旨是“write Less,Do More”,即倡导写更少的代码,做更多的事情。 它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互。 课程目标 • 掌握jQuery开发技术 适合人群 • 前端开发者 课时列表 • 课时1:jQuery_基础 • 课时2:jQuery_基础选择器 • 课时3:jQuery_属性选择器 • 课时4:jQuery_基础过滤...阅读全文

怎么做一个响应式商城网站

踏入C2C、B2C、O2O的网络新时代,不管是个人,还是公司企业,都需要拥有自己的网站。拥有一个体面的网站能够提升自身的品牌实力!现如今的互联网时代,无论是什么类型的网站,响应式建站都是非常适合的。通过响应式建站能够让你的网站提高一个等次,在网站建设过程中也能省去很多繁琐的步骤。利用建站宝盒进行商城网站的建设,能够大大提升建站的效率,不必再为网站模板的选择、功能的搭配而烦恼。 下面小编为大家整理出几个国外比较优秀的商城网站: Burberry Bold & Noble Snipcart Noodlebox 上诉这些国外商城网站都是采用响应式建站的,不管是在展示还是用户浏览体验,都能让人有特别的印象! 做一个响应式商...阅读全文