点击上方蓝字关注公众号

码个蛋第268次推文

一个“刮刀”全搞定

作者:书生婉悠

博客:https://www.jianshu.com/u/46175078f805

学会信息和数据快速采集都是非常必要的,因为这能大大提高工作效率。在学会python和火车头之前,web scraper是我最常用的采集工具了,设置简单,非常高效,采集咪蒙文章标题仅需2分钟,采集58同城5000条租房信息也就5分钟而已。

Web scraper是google强大插件库中非常强大的一款数据采集插件,有强大的反爬虫能力,只需要在插件上简单地设置好,可以快速抓取知乎、简书、豆瓣、大众、58等大型、中型、小型的90%以上的网站,包括文字、图片、表格等内容,最后快速导出csv格式文件。Google官方对web

scraper给出的说明是:

使用我们的扩展,您可以创建一个计划(sitemap),一个web站点应该如何遍历,以及应该提取什么。使用这些sitemaps,Web刮刀将相应地导航站点并提取所有数据。稍后可以将剪贴数据导出为CSV。

Webscraperk课程将会完整介绍流程介绍,用知乎、简书等网站为例介绍如何采集文字、表格、多元素抓取、不规律分页抓取、二级页抓取、动态网站抓取,以及一些反爬虫技术等全部内容。

web scraper的安装

Web scraper是google浏览器的拓展插件,它的安装和其他插件的安装是一样的。

如果无法下载webscraper可以通过微信zds369466004和我联系。

以知乎为例介绍webscraper完整抓取流程

1、打开目标网站,这里以采集知乎第一大v张佳玮的关注对象为例,需要爬取的是关注对象的知乎名字、回答数量、发表文章数量、关注着数量。

2、在网页上右击鼠标,选择检查选项,或者用快捷键Ctrl + Shift + I / F12 都打开 Web Scraper。

3、打开后点击create sitemap选择create sitemap创建一个站点地图。

点击create sitemap后就得到如图页面,需要填写sitemap name,就是站点名字,这点可以随便写,自己看得懂就好;还需要填写starturl,就是要抓取页面的链接。填写完就点击create sitemap,就完成创建站点地图了。

4、设置一级选择器:选定采集范围

接下来就是重中之重了。这里先介绍一下web scraper的抓取逻辑:需要设置一个一级选择器(selector),设定需要抓取的范围;在一级选择器下建立一个二级选择器(selector),设置需要抓取的元素和内容。

以抓取张佳玮关注对象为例,我们的范围就是张佳玮关注的对象,那就需要为这个范围创建一个选择器;而张佳玮关注的对象的粉丝数、文章数量等内容就是二级选择器的内容。具体步骤如下:

(1) Add new selector 创建一级选择器Selector:

点击后就可以得到下图页面,所需要抓取的内容就在这个页面设置。

[if !supportLists]l  [endif]id:就是对这个选择器命名,同理,自己看得懂就好,这里就叫jiawei-scrap。

[if !supportLists]l  [endif]Type:就是要抓取的内容的类型,比如元素element/文本text/链接link/图片image/动态加载内Element Scroll Down等,这里是多个元素就选择element。

[if !supportLists]l  [endif]Selector:指的就是选择所要抓取的内容,点击select就可以在页面上选择内容,这个部分在下面具体介绍。

[if !supportLists]l  [endif]勾选Multiple:勾选 Multiple 前面的小框,因为要选的是多个元素而不是单个元素,当勾选的时候,爬虫插件会识别页面下具有相同属性的内容;

(2)这一步就需要设置选择的内容了,点击select选项下的select 得到下图:

之后将鼠标移动到需要选择的内容上,这时候需要的内容就会变成绿色就表示选定了,这里需要提示一下,如果是所需要的内容是多元素的,就需要将元素都选择,例如下图所示,绿色就表示选择的内容在绿色范围内。

选择内容范围后,点击鼠标,选定的内容范围就会变成如下图的红色:

当一个内容变红后,我们就可以选择接下来的第二个内容,点击后,web scraper就会自动识别你所要的内容,具有相同元素的内容就都会变成红色的。如下图所示:

检查这个页面我们需要的内容全部变成红色之后,就可以点击 Done selecting选项了,就可以得到如下图所示:

点击save selector,保存设置。到这里后,一级选择器就创建完成了。

5、设置二级选择器:选择需要采集的元素内容。

(1)点击下图中红框内容,就进入一级选择器jiawei-scrap下:

(2)点击add new selector创建二级选择器,来选择具体内容。

得到下图,这跟一级选择器的内容是相同的,但是设置是有区别的。

[if !supportLists]Ø  [endif]id:代表抓取的是哪个字段,可以取该字段的英文,比如要选「作者」,就写「writer」;

[if !supportLists]Ø  [endif]Type:这里选Text选项,因为要抓取的是文本内容;

[if !supportLists]Ø  [endif]Multiple:不要勾选 Multiple 前面的小框,因为在这里要抓取的是单个元素;

[if !supportLists]Ø  [endif]保留设置:其余未提及部分保留默认设置。

(3)点击select选项后,将鼠标移到具体的元素上,元素就会变成黄色,如下图所示:

在具体元素上点击后,元素就会变成红色的,就代表选定该内容了。

(4)点击Done selecting后完成选择,再点击save selector后就可以完成关注对象知乎名字的选取了。

重复以上操作,直到选完你想爬的字段。

(5)点击红框部分可以看到采集的内容。

6、爬取数据

(1)只需要设置完所有的 Selector,就可以开始爬数据了,点击 Scrape map,选泽scrape;:

(2)点击后就会跳到时间设置页面,如下图,由于采集的数量不大,保存默认就可以,点击start scraping,就会跳出一个窗口,就开始正式采集了。

(3)稍等一会就可以得到采集效果,如下图:

(4)选择sitemap下的export dataas csv选项就可以将采集的结果以表格的形式导出。

表格效果(一部分数据):

除此之外,还利用web scraper采集了58同城租房信息、大众点评美食信息、微信公众号咪蒙文章、京东小米手机评价等。

不用代码,10分钟会采集微博、微信、知乎、58同城数据和信息相关推荐

  1. 10分钟带你学会微信小程序的反编译

    以xxxxx小程序为例10分钟带你学会微信小程序的反编译 2019-11-28 12:59:26 以一个简单的例子介绍下小程序反编译操作流程 实验环境 前置准备 模拟器内软件安装 获取小程序包 开始解 ...

  2. 微博/微信/知乎/头条,如何让你上瘾

    问你几个问题: 每天早上,打开手机,你会先看哪个应用? 每天晚上睡觉前,你会用手机里哪个应用? 你手机的第一屏上,是哪些应用? 你每天在微博.知乎.微信.今日头条等应用上花多少时间? 哪个应用,你每天 ...

  3. 10分钟搭建ChatGPT API微信聊天机器人

    引言:今天看到ChatGPT开放了API,就顺便找了一个开源项目,把微信聊天机器人搭起来了.1. 注册ChatGPT 这个网上都有很多的教程,我这里就不赘述了 2. 获取ChatGPT API Key ...

  4. 以中银E路通小程序为例10分钟带你学会微信小程序的反编译

    以一个简单的例子介绍下小程序反编译操作流程 实验环境 前置准备 模拟器内软件安装 获取小程序包 开始解包 导入开发者工具 补充注意事项 技术交流群 有偿解包 uniapp 逆向服务 逆向教程小程序

  5. python可以爬取58同城代码_【Python爬虫】:爬取58同城二手房的全部房地产标题...

    北街家园七区 双阳台大两居 看楼有锁匙 相邻卖场,小区业主真诚售卖,房屋十分整洁,刚性需求 (新上!急卖)百环家园高层住宅观景平台大两居 次序分离出来 双入户花园 海淀区幸福里~北清路旁边~ 智能化精 ...

  6. 不用代码,10分钟打造属于自己的第一款小程序

    扫码体验 早晨到公司的时候,手机上推送的小程序审核通过的消息,激动的下载了小程序的二维码,扫一扫即可在手机上打开上线的小程序,不枉费昨天晚上熬夜到凌晨,用免费平台测试的功夫 gh_098cec5701 ...

  7. 视频教程-10分钟实现微信小程序支付功能-微信开发

    10分钟实现微信小程序支付功能 码农一枚,非著名全栈开发人员.分享自己的一些经验,学习心得,希望后来人少走弯路,少填坑. 多年全栈开发经验,擅长小程序,java,安卓,web前端开发. 邱石 ¥19. ...

  8. 【云开发】10分钟零基础学会做一个快递查询微信小程序,快速掌握微信小程序开发技能(轮播图、API请求)

    大家好,我叫小秃僧 这次分享的是10分钟零基础学会做一个快递查询微信小程序,快速掌握开发微信小程序技能. 这篇文章偏基础,特别适合还没有开发过微信小程序的童鞋,一些概念和逻辑我会讲细一点,尽可能用图说 ...

  9. 如何用计算机自动回复微信,10分钟教你用Python实现微信自动回复功能

    01 前言&&效果展示 相信大家都有忙碌的时候,不可能一直守在微信上及时回复消息.但微信又不能像QQ一样设置自动回复.无妨,今天,我们就来用Python实现微信的自动回复功能吧,并且把 ...

最新文章

  1. SQL Server中各个系统表的作用
  2. 授权公钥登录,sudo权限脚本
  3. 如何用JavaScript实现2+2=5?
  4. Apache服务器上部署的网站乱码问题的解决办法
  5. springmvc面试题2021
  6. java 监控对象是什么_多线程-Java中的对象监视器是什么意思? 为什么要使用这个词?...
  7. Linux学习总结(17)——Linux新手必须学会的12个命令
  8. android view 平滑,Android移动view动画问题(让移动更平滑)
  9. react native webview 不能滑动页面
  10. 计算机硬件性能指标参考
  11. VS与SQL、SSMS的安装,以及官方示例数据AdventureWorks2017的安装
  12. qt.qpa.plugin: Could not load the Qt platform plugin “xcb“ in问题
  13. 使用Python模拟鼠标操作
  14. 大转盘抽奖小程序源码
  15. 一元三次方程重根判别式_一元三次方程快速解法
  16. 在MySQL中设计新闻网站_基于MySQL新闻搜索引擎的设计与实现
  17. mysql按月创建分表_MySQL之按月拆分主表并按月分表写入数据提高数据查询速度...
  18. 详解 CatBoost 原理
  19. 【Rust日报】2022-07-06 Android 平台中的 Rust
  20. 【论文笔记】ARBITRAR: User-Guided API Misuse Detection

热门文章

  1. 模拟电子技术最终章——直流电源:整流+滤波+稳压(知识点归纳总结及例题详细分析)LDO与DCDC详解
  2. Shiro大概原理和快速开始
  3. 手机相片删除了怎么恢复?3个办法轻松解决
  4. 【NOIP】合唱队形
  5. ttkefu在线客服即时通信的系统
  6. springboot使用阿里云全球物流快递查询实现根据物流单号实时查询
  7. 用Python更加了解微信好友
  8. linux查看websphereMQ版本,Linux上安装WebSphere MQ 7.1
  9. 机器翻译之BLEU值
  10. AcWing 1064 骑士