golang-爬虫
文章平均质量分 50
田园园野
我坚持,我坚信
展开
-
golang 爬虫 403
如下,我直接用http.Get(url)进行获取信息,用浏览器可以对该URL进行访问,可是爬取时则返回403,禁止访问resp,err := http.Get(url)解决方案:模拟浏览器访问:1、查看自己浏览器中的User-Agent 信息。2、将下面代码 resp,err := http.Get(url) defer resp.Body.Close()替换成下面的代码 client := ...原创 2018-05-29 17:34:22 · 2630 阅读 · 4 评论 -
golang------------单任务版爬虫实现
此爬虫最终结果为爬取慕课网视频观看人数,评分,和评论,此篇为最简单版,接下来的篇幅中会有利用goroutine和channel的并发版本,最后还有使用rpc实现的分布式版。一、架构图:Seed: URL+Parser,从URL中爬出来的数据由相应的Parser解析,解析出新的URL继续加入到任务队列中,继续爬。Engine: 将请求都加入到任务队列中,一个一个执行Fetche...原创 2018-05-29 18:27:46 · 539 阅读 · 0 评论 -
golang ----------- 并发版爬虫实现一
控制力很小原创 2018-05-30 09:17:01 · 2283 阅读 · 1 评论 -
golang ----------- 并发版爬虫实现二
1、要解决的问题:1)、把request直接发给worker会卡住,如下架构图。2)也不想每个request都开一个goroutine,控制力比较小,如下架构图。同时希望对worker加以控制。2、解决上面问题:把request和worker都放到相应队列,把我们选择的request发给我们选择的worker。如下架构图3、代码实现:发送请求:1、把对eng...原创 2018-05-30 12:03:50 · 1501 阅读 · 0 评论 -
ElasticSearch ----------- 使用教程1(goland作为工具)
1、<service>:9200/index/type/idindex:相当于databasetype:相当于tableid:相当于每条记录的id2、使用goland内置的testRestful Web Service对ElasticSearch进行增删改查2.1、进行查询:GET结果:现在里面还没有数据2.2、添加数据:POST添加...原创 2018-05-29 10:39:52 · 676 阅读 · 0 评论 -
jsonrpc
一、rpc1、概念rpc:(Remote Procedure Call)远程过程调用,是一个计算机通信协议。该协议允许运行于一台计算机的程序调用另一台计算机的子程序,而程序员无需额外地为这个交互作用编程。如果涉及的软件采用面向对象编程,那么远程过程调用亦可称作远程调用或远程方法调用。远程过程调用是一个分布式计算的客户端-服务器(Client/Server)的例子,它简单而又广受欢迎。...原创 2018-06-02 19:55:00 · 9522 阅读 · 0 评论