Golang nethttp 爬虫[1]

Golang nethttp 爬虫[1],第1张

上周从零学习了golang,语法简单关键字少,写个返迹闷爬虫熟悉一下语法结构。

首先选用了原生的net/http包,基本上涵盖了所有的get/post请求,各种参数都可以设置,网上漏弯google到html页面解析goquery神器,很轻松就可以解决页面解析问题。

首先就写了个爬取汇州枣率的爬虫。然后重写之前php的一个请求类,请求类的逻辑有点混乱不清晰,往往把两个不同的功能合并到一起写,粒度大,后来发现了一个好用的框架——colly,之后再试试好不好用

Windows 10 Golang

依赖包:goquery

较常用的方法有Find和Each

爬取中国银行的汇率牌价表,golang依赖net/http包和goquery包

唯一的难点是对于goquery方法的使用,需要阅读官方文档:

https://godoc.org/github.com/PuerkitoBio/goquery

使用原生的net/http包基本上可以解决大多数的网页请求,使用goquery可以解决页面解析问题

可以利用golang的协程特性进行异步多协程爬取

增加安全性可以通过几个方面进行改进:

1.首先可以限制爬虫的爬取速度

2.每次对网页的请求都随机选用一个客户端

3.选用IP代理池,防止IP误封(及限制ip访问次数)

构造请求代理ip网站的链接→获取网页内容→ 提取网页中IP地址和端口号→验证IP的有效性并存储

轻量级反爬虫方案

浅谈JSP

golang带json的Http请求

Get/Post

HTTP请求中的Form Data和Request Payload的区别

HTTP Json请求

https://zhuanlan.zhihu.com/p/32825491

https://blog.csdn.net/yang731227/article/details/83900422

net/http: https://studygolang.com/articles/9467

golang HTTP *** 作

python建立爬虫代理ip池

爬虫黑科技之让你的爬虫程序更像人类用户的行为

特点:事件监听,通过callback执行事件处理

基于colly开发的web管理界面

colly一款快速优雅的golang爬虫框架,简单易用,功能完备。笑察中

官网地址: http://go-colly.org/

包地址: import "github.com/gocolly/colly"

一个简单的例子:

使用方式概括下来主要有三步:

创建采集器时可以指定没源一些配置参数,如useragent,爬取深度及日志等

回调函数共有7中

通过浏览碰山器开发者工具查看jianshu.com结构如下

文章列表为ul标签,中间每一项是li标签,li中包含content,content中包含title,abstract和meta标签

我的思路是这样,因为自己起点低,还精力有限,又想弯道追上技术潮流,所以着眼未来,选择Golang。既然敢叫云技术语言,那么它的性能自然是适合未来发展的,像facebook这样的大公司貌似也挺基梁滑重视它…最最主要的,赌它未来能全栈应用,期待可以直接上手用Go开发Android和iOS应用的那一搏腊天~

框架选择上吗,初级选手建议Revel(开源案例比较多,老框架渣拿、Go官方给予了该框架很高的评价),其实Go语言众多框架性能都很卓越,水平高的不用框架直接玩更爽。顺嘴吐一下槽,Go语言框架之多如少女脸上的青春痘~

对了,选择Go语言的好处是,各个社区学习互助氛围比较好,你去哪个网上社区去请教问题,都会有人热情解答~


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12329078.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存