试验一下Golang 网络爬虫框架gocolly/colly

参考:http://www.cnblogs.com/majianguo/p/8186429.html

框架源码在 github.com/gocolly/colly

代码如下(源码中的demo)

package main

import (
    "fmt"

    "github.com/gocolly/colly"
)

func main() {
    // Instantiate default collector
    c := colly.NewCollector(
        // Visit only domains: hackerspaces.org, wiki.hackerspaces.org
        colly.AllowedDomains("hackerspaces.org", "wiki.hackerspaces.org"),
    )

    // On every a element which has href attribute call callback
    c.OnHTML("a[href]", func(e *colly.HTMLElement) {
        link := e.Attr("href")
        // Print link
        fmt.Printf("Link found: %q -> %s\n", e.Text, link)
        // Visit link found on page
        // Only those links are visited which are in AllowedDomains
        c.Visit(e.Request.AbsoluteURL(link))
    })

    // Before making a request print "Visiting ..."
    c.OnRequest(func(r *colly.Request) {
        fmt.Println("Visiting", r.URL.String())
    })

    // Start scraping on https://hackerspaces.org
    c.Visit("https://hackerspaces.org/")
}

结果Ctrl-B后,提示了类似于cannot find package "github.com/PuerkitoBio/goquery" in any of:等一堆内容,对照提示用gopm逐一下载相应的依赖包,这时候真希望能用go get啊

原文地址:https://www.cnblogs.com/pu369/p/10348572.html

时间: 2024-11-13 11:03:36

试验一下Golang 网络爬虫框架gocolly/colly的相关文章

Golang 网络爬虫框架gocolly/colly 二 jQuery selector

Golang 网络爬虫框架gocolly/colly 二 jQuery selector colly框架依赖goquery库,goquery将jQuery的语法和特性引入到了go语言中.如果要灵活自如地采集数据,首先要了解jQuery选择器.以下内容是翻译jQuery官方网站 <Category: Selectors>章节内容: Category: Selectors Borrowing from CSS 1–3, and then adding its own, jQuery offers

java 网络爬虫框架

java 网络爬虫框架: apache Nutch ,Heritrix等,主要参照开源社区提供的40个开源项目 文章背景: 最近要写个爬虫抓去新浪微博的数据,然后用hadoop存储后,进行分析,就在网上搜取相关资料. 网友推荐使用python来做,但鉴于本人擅长的是java,学习python需要一定的时间成本,还是选择java.一开始想自己从头写,搜到apache httpClient,  后来想着还是用开源成熟的框架来做,目前觉得apache Nutch 和Heritrix是个不错的选择,不过

基于java的网络爬虫框架(实现京东数据的爬取,并将插入数据库)

原文地址http://blog.csdn.net/qy20115549/article/details/52203722 本文为原创博客,仅供技术学习使用.未经允许,禁止将其复制下来上传到百度文库等平台. 目录 网络爬虫框架 网络爬虫的逻辑顺序 网络爬虫实例教学 model main util parse db 再看main方法 爬虫效果展示 网络爬虫框架 写网络爬虫,一个要有一个逻辑顺序.本文主要讲解我自己经常使用的一个顺序,并且本人经常使用这个框架来写一些简单的爬虫,复杂的爬虫,也是在这个基

一篇文章教会你理解Scrapy网络爬虫框架的工作原理和数据采集过程

今天小编给大家详细的讲解一下Scrapy爬虫框架,希望对大家的学习有帮助. 1.Scrapy爬虫框架 Scrapy是一个使用Python编程语言编写的爬虫框架,任何人都可以根据自己的需求进行修改,并且使用起来非常的方便.它可以应用在数据采集.数据挖掘.网络异常用户检测.存储数据等方面. Scrapy使用了Twisted异步网络库来处理网络通讯.整体架构大致如下图所示. Scrapy爬虫框架 2.由上图可知Scrapy爬虫框架主要由5个部分组成,分别是:Scrapy Engine(Scrapy引擎

快速部署网络爬虫框架scrapy

1. 安装Anaconda,因为Anaconda基本把所有需要依赖的环境都一键帮我们部署好了,不需要再操心其他事了,进官网选择需要下载的版本:https://www.anaconda.com/download/ 2. 安装完Anaconda,添加环境变量,见截图 3. 验证Anaconda是否安装OK,打开开始菜单,选择  ,输入命令conda,出现截图的情况就说明装好了,环境变量也是OK的 4. 接下来就是安装scrapy,在刚才的Anaconda Prompt,输入命令:conda inst

【转】Python练习,网络爬虫框架Scrapy

一.概述 下图显示了Scrapy的大体架构,其中包含了它的主要组件及系统的数据处理流程(绿色箭头所示).下面就来一个个解释每个组件的作用及数据的处理过程. 二.组件 1.Scrapy Engine(Scrapy引擎) Scrapy引擎是用来控制整个系统的数据处理流程,并进行事务处理的触发.更多的详细内容可以看下面的数据处理流程. 2.Scheduler(调度) 调度程序从Scrapy引擎接受请求并排序列入队列,并在Scrapy引擎发出请求后返还给他们. 3.Downloader(下载器) 下载器

网络爬虫框架Heritrix中Modules的各项说明

1)Select Crawl Scope:Crawl Scope 用于配置当前应该在什么范围内抓取网页链接.例如选择 BroadScope 则表示当前的抓取范围不受限制,选择 HostScope 则表示抓取的范围在当前的 Host 范围内.在这里我们选择 org.archive.crawler.scope.BroadScope,并单击右边的 Change 按钮保存设置状态. 2)Select URI Frontier:Frontier 是一个 URL 的处理器,它决定下一个被处理的 URL 是什

python 网络爬虫框架scrapy使用说明

1 创建项目scrapy startproject tutorial 2 定义Itemimport scrapyclass DmozItem(scrapy.Item):    title = scrapy.Field()    link = scrapy.Field()    desc = scrapy.Field()paser完后的数据保存到item列表,在传给pipeline使用 3 编写第一个爬虫(Spider), 保存在 tutorial/spiders 目录下的 dmoz_spider

Scrapy网络爬虫框架的开发使用

1.安装 2.使用scrapy startproject  project_name 命令创建scrapy项目 如图: 3.根据提示使用scrapy genspider spider_name domain_url 创建一个spider程序 如图: 注意spider_name 不能和project_name 同名:可以采用关键字加_spider的方式命名spider_name 4. 使用scrapy list命令查看所有的spider程序名称,及使用scrapy --help查看命令列表 5.