zoukankan      html  css  js  c++  java
  • 【02】基础:单页采集(以微博博主主页采集为例)

    请先安装爬虫软件。爬虫软件安装

    前言

    今天讲讲微博博主主页的采集。
    目标是采集博主名称、微博内容、发博日期、微博内容、转发数、评论数和点赞数。
    学习流程见下图——

    一、加载页面,定义主题名

    样本网址:最近很火的宝宝的微博主页
    http://weibo.com/wbq?refer_flag=1001030101_&is_hot=1#_rnd1471331959489

    操作参见图。

    二、建立整理箱进行内容映射

    点击操作栏中的“创建规则”,点击新建,给整理箱取一个名称,整理箱就是存放数据的地方,比如“列表”,箱子必须有,否则程序不知道把采集下来的数据放哪里。

    接下来告诉整理箱要采集的数据有哪些,分别取个名字。右击“列表”,选择“添加”,选择“包容”。

    输入抓取内容的名称(博主名称)之后,后点击保存。

    接下来,右击“博主名称”,选择“添加”,选择“其后”,同理,输入抓取内容的名称后点击保存。

    前面说了,我们要采集博主名称、微博内容、发博日期、微博内容、转发数、评论数和点赞数这些字段,那就重复上一步操作分别添加。

    接下来要告诉爬虫哪些内容是想采集的(内容映射)——

    1. 在MS谋数台的浏览器窗口,点击博主名称之后,会自动定位到网页标签中的A节点,双击展开A节点,找出包含博主名称的#text节点,我们看到文本内容窗口显示的内容是王宝宝,说明博主名称对应的节点选对了
    2. 右击#text节点,选择“内容映射>博主名称”,这时定位编号的数字由-1变成了正数,说明映射到了
      上面的操作相当于告诉MS谋数台“博主名称”抓什么。

    同理,其他的抓取内容也按此操作,先在MS谋数台浏览器中点击要抓取的内容,双击展开在网页标签窗口中定位到的区块节点,找到#text节点,内容映射给抓取内容的名称。

    三、样例复制采集多条微博

    点击“测试”按钮,弹出一个设置关键内容的框,之后将博主名称设置为关键内容,其实你可以设置任何一个抓取内容为关键内容,只要这个内容一定会在网页中出现就行了。

    再次点击“测试”按钮,看到输出信息中只有一条微博内容。

    要实现采集博主主页上的多条微博,那么就要做样例复制操作,看图。

    1. 将鼠标定位到整理箱的容器节点“列表”(容器节点才能做样例复制),勾选启用
    2. 点击网页上的第一个样例(红框),自动定位后,往上逐层点击找到能框住整个样例的区块节点,然后右击映射给样例1
    3. 同理,选中相邻的下一个区块节点,映射给样例2

    接着点击测试,发现转发数、评论数和点赞数采集的内容不准了,这个原因后面的教程会详细讲解。

    点击测试,将整理箱的定位偏好改为“偏好class”。

    四、保存规则,运行DS打数机抓取数据

    再次点击测试,采集内容准确了,确认规则没错后点击“存规则”,然后点击“爬数据”,期间会弹出DS打数机在采集数据,不要关闭它


    DS打数机页面变成空白表示采集已经完成,点击“文件>存储路径”可以看到DS打数机采集的数据保存在本地哪了


    在本地“DataScraperWorks”文件夹中可以看以该规则命名的一个子文件,用浏览器将子文件中的XML格式打开,看到宝宝的第一页微博数据都采集下来了,bingo~

    看到这里,留下两个问题——

    1. 怎么将XML格式的文件转为Excel格式?
    2. 怎么采集多页的微博数据呢?

    后面再学。

  • 相关阅读:
    【JZOJ4876】【NOIP2016提高A组集训第10场11.8】基因突变
    【JZOJ4869】【NOIP2016提高A组集训第9场11.7】平均数
    【JZOJ4868】【NOIP2016提高A组集训第9场11.7】Simple
    【JZOJ4861】【NOIP2016提高A组集训第7场11.4】推冰块
    【JZOJ4860】【NOIP2016提高A组集训第7场11.4】分解数
    【JZOJ4859】【NOIP2016提高A组集训第7场11.4】连锁店
    【JZOJ4359】【GDKOI2016】魔卡少女
    【JZOJ4848】【GDOI2017模拟11.3】永恒的契约
    【JZOJ4855】【NOIP2016提高A组集训第6场11.3】荷花池塘
    Java编程的逻辑 (16)
  • 原文地址:https://www.cnblogs.com/gooseeker/p/5852134.html
Copyright © 2011-2022 走看看