美文网首页数据采集数据分析职业它山之石
不用代码,10分钟会采集微博、微信、知乎、58同城数据和信息

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

作者: 书生婉悠 | 来源:发表于2017-12-29 14:08 被阅读8132次

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

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

    scraper给出的说明是:

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

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

    我也将在近期开始web scraper课程,有兴趣的朋友可以加我微信:zds369466004

    一、web scraper的安装

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

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

    二、以知乎为例介绍web scraper完整抓取流程

    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同城租房信息、大众点评美食信息、微信公众号咪蒙文章、京东小米手机评价等。

    相关文章

      网友评论

      • 书生婉悠:为了解答各位提出的问题,我开了一个web sraper线上课程,举了采集微博、微知乎、豆瓣的例子来讲解具体的使用方法,也翻译了官方文档,如果有需要听课的可以加我微信:zds369466004
      • d8b26f26821d:一直在找这类文章学习信息收集方法,太好,收藏下下班后学习
      • motioliang:楼主能分享一下ssr在服务器怎么配置吗🙏
        书生婉悠:为了解答各位提出的问题,我开了一个web sraper线上课程,举了采集微博、微知乎、豆瓣的例子来讲解具体的使用方法,也翻译了官方文档,如果有需要听课的可以加我微信:zds369466004
      • 萃丰:专业!
      • 0c1c8aa13135:写个python抓取吧
      • 芥子虚弥:太厉害了,我要收藏
      • AWeiLoveAndroid:学习了 一直以为这个要学会python才可以 这个方法还不错 回头试试看
        书生婉悠:为了解答各位提出的问题,我开了一个web sraper线上课程,举了采集微博、微知乎、豆瓣的例子来讲解具体的使用方法,也翻译了官方文档,如果有需要听课的可以加我微信:zds369466004
      • 10d668d17552:这个插件只是需要用到谷歌浏览器吧,用爬墙吗
        书生婉悠:为了解答各位提出的问题,我开了一个web sraper线上课程,举了采集微博、微知乎、豆瓣的例子来讲解具体的使用方法,也翻译了官方文档,如果有需要听课的可以加我微信:zds369466004
      • 0dad9fe75db6:请问,要抓取的页面被分成了几十个页面,如何一次性抓取呢?页面结构如下:https://www.zhihu.com/people/XXXXXXX/followers?page=3
        书生婉悠:为了解答各位提出的问题,我开了一个web sraper线上课程,举了采集微博、微知乎、豆瓣的例子来讲解具体的使用方法,也翻译了官方文档,如果有需要听课的可以加我微信:zds369466004
      • f0c1973f8e86:为了给点赞专门注册了个账号,哈哈哈
        3e3c4341faa6:@月下美人369 加攻速移速暴击
      • ideal9527:套路深
      • 昔往矣:非常感谢:pray:
      • 羊羊羊羊羊阳:为啥我只能抓取到一条数据啊。。。是不是要在哪设置一下数量?
        操作过程中我点击了很多条数据
        书生婉悠:为了解答各位提出的问题,我开了一个web sraper线上课程,举了采集微博、微知乎、豆瓣的例子来讲解具体的使用方法,也翻译了官方文档,如果有需要听课的可以加我微信:zds369466004
      • 416cdf8d1b3f:又涨了姿势
      • 屋下燕子:有用,先收藏,谢谢分享。👍👍
      • 7d21e61f83bd:谷歌到底怎么才能用呢。
        7d21e61f83bd:@call911 get!!!
        学习学习哦:@夜央 你好。查水表
        8663a2572112:@夜央 @需要翻墙,电脑的话需要下载一个vpn通道软件,手机的话要先root然后安装google框架,再安装一个vpn通道软件,就搞定
      • 徐晓航:你好,我想问下,采集58同城租房数据,有哪些重要的用途?通过这些数据能分析出来什么?简单说说就行!
        书生婉悠:为了解答各位提出的问题,我开了一个web sraper线上课程,举了采集微博、微知乎、豆瓣的例子来讲解具体的使用方法,也翻译了官方文档,如果有需要听课的可以加我微信:zds369466004
        江将蒋酱:@徐晓航 这个是大数据思想,举个例子你想租房子但是不知道那个房子价格低~~~~明白了吗

      本文标题:不用代码,10分钟会采集微博、微信、知乎、58同城数据和信息

      本文链接:https://www.haomeiwen.com/subject/ebgwcttx.html