title: 爬虫入门五 gooseeker

date: 2020-03-16 16:00:00

categories: python

tags: crawler

gooseeker是一个简单的爬虫软件。无需编程知识就可以使用。

1 简介

集搜客GooSeeker大数据软件开发始于2007年,2007年正是语义网络走向商用的时期,集搜客致力于提供一套便捷易用的软件,将网页内容进行语义标注和结构化转换。

GooSeeker是一个采用云计算架构的网页数据抽取工具包,能根据用户的指导,从网页上抓取需要的文本,并输出按一定结构输出提取结果文件(XML文件)

2 实例

因为是个工具软件,就直接采用实例学习。

2.1集搜客爬虫浏览器入门和基本术语

以京东商品的名称和价格为例。

复制目标页面到GS。

https://item.jd.com/100004770263.html,并打开

按下定义规则按钮。

此时GS分为原网页,dom窗口(展示网页结构),工作台。

在工作台,定义采集规则。

起一个主题名,然后查重。

然后双击原网页想要采集部分,会提示输入标签名。标签名自定义。打钩确认。

第一次标签会提示输入整理箱名:摘取的内容(标签)会放到整理箱。 标签是输出为excel表格时的项目。

工作台点击测试,查看能否抓取。

保存规则:在GS右上角有"存规则按钮"

然后点击"爬数据"按钮,启动GS的打数机爬取。

在爬取界面点击 文件->存储路径 可以查看路径。 去相关目录查找可见保存的XML文件。 注注意在user的DataScraperWorks目录下

然后回到GS主页,回到普通浏览模式。

再返回GS官网,登录会员中心,进入规则管理项,选择刚刚定义的规则,点击导入数据,点击附件选择刚刚的XML文件,点击导入。

然后点击导出数据,保存到 downloads目录。得到excel文件。

这里视频教程和软件版本不一致,改为到会员中心的数据管理导入导出

2.2 京东商品列表采集(样例复制)

列表页面就是由多个相同结构的数据组成的页面。

比如在京东搜索apple页面。https://search.jd.com/Search?keyword=apple&enc=utf-8&wq=apple&pvid=7f57e2c13a294435957c391adda80f01

复制到GS。注意要拖动滚动条使页面加载完。

然后定义规则:

新建主题,然后点击创建规则->新建整理箱。

然后选择页面中一个商品的名称,价格创建两个标签。

然后测试。

然后选中刚刚创建的整理箱->抓取内容->整理箱名。

点击原网页创建了标签的名称,在下方dom窗口出现对应节点,右键,样例复制,选择第一个(添加第一个样例)

然后原网页选择下一个商品,点击名称,下方dom右键选择第二个样例。 (这里样例复制只需要选择连续的两个数据结构的相同节点即可,比如京东搜索页面的两个手机的图片,不一定是刚刚创建的标签)

工作台点击定位,选择绝对定位,存储,测试。

然后右上角保存规则。点击。爬数据

爬完后可以点击查看日志有无错误。

剩下的转excel的操作和 2.1一致

2.3 京东搜索列表翻页采集

京东搜索键盘,复制到GS。

注意要先拖到,使得网页加载完毕。

新建主题,整理箱。然后点击页面创建标签: 名称,价格,店家。

然后创建样例复制。见 2.2

可以测试一下。

然后翻页:

拖动到页面下方的翻页区,点击原网页,可见黄色框选。在下方dom区可见选中了div节点,右键,翻页映射,作为翻页区,新建线索。注意修改目标任务名为当前任务。

然后找到翻页记号 ,这里是 "下一页"。点击,在dom区域可见选中了EM节点,但是这里是文本"下一页",所以展开该EM节点,选中其中的text节点,右键,翻页映射,作为翻页记号。

存规则,爬数据。

这里每个页面一个XML文件。

为了防止爬虫到了最后一页陷入停止,在爬数据的打数机页面,高级,重点标志,重复内容。这样采集到连续三个相同的页面就会停止。中途也可以选择强制退出。

到生成的目录下,选择多个XML文件,压缩为ZIP,然后在GS的会员中心导入,导出,得到Excel文件。

2.4 京东搜索列表层级采集

在2.3翻页的基础上,进入商品的详情页采集信息。

https://www.bilibili.com/video/av22910870

爬虫入门五 gooseeker的更多相关文章

  1. Python爬虫入门五之URLError异常处理

    大家好,本节在这里主要说的是URLError还有HTTPError,以及对它们的一些处理. 1.URLError 首先解释下URLError可能产生的原因: 网络无连接,即本机无法上网 连接不到特定的 ...

  2. 转 Python爬虫入门五之URLError异常处理

    静觅 » Python爬虫入门五之URLError异常处理 1.URLError 首先解释下URLError可能产生的原因: 网络无连接,即本机无法上网 连接不到特定的服务器 服务器不存在 在代码中, ...

  3. 5.Python爬虫入门五之URLError异常处理

    大家好,本节在这里主要说的是URLError还有HTTPError,以及对它们的一些处理. 1.URLError 首先解释下URLError可能产生的原因: 网络无连接,即本机无法上网 连接不到特定的 ...

  4. Python爬虫教程——入门五之URLError异常处理

    大家好,本节在这里主要说的是URLError还有HTTPError,以及对它们的一些处理. 1.URLError 首先解释下URLError可能产生的原因: 网络无连接,即本机无法上网 连接不到特定的 ...

  5. Python2.x爬虫入门之URLError异常处理

    大家好,本节在这里主要说的是URLError还有HTTPError,以及对它们的一些处理. 1.URLError 首先解释下URLError可能产生的原因: (1)网络无连接,即本机无法上网 (2)连 ...

  6. 爬虫入门之爬取策略 XPath与bs4实现(五)

    爬虫入门之爬取策略 XPath与bs4实现(五) 在爬虫系统中,待抓取URL队列是很重要的一部分.待抓取URL队列中的URL以什么样的顺序排列也是一个很重要的问题,因为这涉及到先抓取那个页面,后抓取哪 ...

  7. 爬虫入门之urllib库详解(二)

    爬虫入门之urllib库详解(二) 1 urllib模块 urllib模块是一个运用于URL的包 urllib.request用于访问和读取URLS urllib.error包括了所有urllib.r ...

  8. Python爬虫入门(二)之Requests库

    Python爬虫入门(二)之Requests库 我是照着小白教程做的,所以该篇是更小白教程hhhhhhhh 一.Requests库的简介 Requests 唯一的一个非转基因的 Python HTTP ...

  9. openresty 前端开发入门五之Mysql篇

    openresty 前端开发入门五之Mysql篇 这章主要演示怎么通过lua连接mysql,并根据用户输入的name从mysql获取数据,并返回给用户 操作mysql主要用到了lua-resty-my ...

随机推荐

  1. Table controls and tabstrip controls

    本文转载自http://www.cnblogs.com/clsoho/archive/2010/01/21/1653268.html ONTROLS Syntax Forms Declaration ...

  2. MongoDB查询优化--explain,慢日志

    引入 与Mysql数据库一样,MongoDB也有自己的查询优化工具,explain和慢日志 explain shell命令格式 db.collection.explain().<method(. ...

  3. JS中常用的工具类

    一.日期工具类 /** * 日期时间工具类 * @type {{dateFormat}} */ var DateTime = function () { var patterns = { PATTER ...

  4. mysql 设置外键约束时如何删除数据

    Mysql中如果表和表之间建立的外键约束,则无法删除表及修改表结构 解决方法是在Mysql中取消外键约束: SET FOREIGN_KEY_CHECKS=0; 然后将原来表的数据导出到sql语句,重新 ...

  5. uni-app开发经验分享十三:实现手机扫描二维码并跳转全过程

    最近使用 uni-app 开发 app ,需要实现一个调起手机摄像头扫描二维码功能,官网API文档给出了这样一个demo: // 允许从相机和相册扫码 uni.scanCode({ success: ...

  6. JS实现鼠标移入DIV随机变换颜色

    今天分享一个在 JavaScript中,实现一个鼠标移入可以随机变换颜色,本质就是js的随机数运用. 代码如下: <!DOCTYPE html> <html> <head ...

  7. 笔记 | pandas之时间序列学习随笔1

    1. 时间序列自动生成 ts = pd.Series(np.arange(1, 901), index=pd.date_range('2010-1-1', periods=900)) 最终生成了从20 ...

  8. collections,random

    collections模块 在内置数据类型(dict.list.set.tuple)的基础上,collections模块还提供了几个额外的数据类型:Counter.deque.defaultdict. ...

  9. KMP算法 字符串匹配(看猫片)

    前言 此篇笔记根据自己的理解和练习心得来解释算法,只代表个人观点,如有不足请指出(我刚学QWQ) 浅谈字符串匹配 设想一个场景,假设你是一个净化网络语言环境的管理员,每天需要翻阅大量的文章和帖子来查找 ...

  10. TRUNK与VTP

    TRUNK协议: 交换机之间VLAN通信: 同一个VLAN可以跨越多个交换机 主干功能支持多个VLAN的数据 Trunk(主干) VLAN 中交换机之间的链路:用来承载多个VLAN的数据流. Trun ...