网页爬虫抓取百度图片(WebScraper有多么好爬,以及大致怎么用问题 )

优采云 发布时间: 2022-01-03 12:10

  网页爬虫抓取百度图片(WebScraper有多么好爬,以及大致怎么用问题

)

  网上有很多使用Python爬取网页内容的教程,但一般都需要自己写代码。没有相应基础的人,短时间内也有入门门槛。事实上,在大多数场景下,Web Scraper(一款Chrome插件)都可以快速抓取到目标内容。重要的是不需要下载东西,基本没有代码知识。

  开始之前,有必要先简单了解几个问题。

  一个。什么是爬虫?

  自动抓取目标网站内容工具。

  B.爬虫有什么用?

  提高数据采集效率。没有人愿意让他们的手指重复复制和粘贴操作。机械的事情应该留给工具来做。快速的采集数据也是分析数据的基础。

  c.爬虫的原理是什么?

  要理解这一点,您需要了解为什么人类可以浏览网页。我们通过输入URL、关键字、点击链接向目标计算机发送请求,然后将目标计算机的代码下载到本地,然后解析/渲染到我们看到的页面中。这就是上网的过程。

  爬虫做的就是模拟这个过程,但是比人的动作要快,而且可以自定义爬取内容,然后存入数据库中,供浏览或下载使用。搜索引擎可以工作,原理相同。

  但爬虫只是工具。要使工具发挥作用,他们必须了解您想要什么。这是我们必须要做的。毕竟,人脑电波不能直接流入计算机。也可以说爬虫的本质就是找规律。

  

  Lauren Mancke 在 Unsplash 上的照片

  以豆瓣电影Top250为例(很多人练习这个是因为豆瓣网页是有条理的),看看网络爬虫是多么的简单,以及如何使用它。

  1、在Chrome App Store中搜索Web Scraper,然后点击“添加扩展”,即可在Chrome插件栏中看到蜘蛛网图标。

  (如果你的日常浏览器不是Chrome,强烈建议更换,Chrome和其他浏览器的区别就像谷歌和其他搜索引擎的区别)

  

  2、打开要爬取的网页,比如豆瓣Top250的网址是/top250,然后同时按option+command+i进入开发者模式(如果你使用Windows,是 ctrl+shift+i ,不同浏览器的默认快捷键可能不同)。这时候可以看到网页上弹出一个对话框。别担心,这只是当前网页的 HTML(一种超文本标记语言,它在网络世界中创造了一块砖)。一瓦)。

  

  只要按照步骤1添加Web Scraper扩展程序,就可以在箭头所指位置看到Web Scraper,点击它,就是下图所示的爬虫页面。

  

  3、 点击创建新站点地图,依次创建站点地图创建爬虫。站点地图名称随意填写,仅供自己识别,例如填写dbtop250(不要写汉字、空格、大写字母)。一般将要爬取的网页的网址复制粘贴到起始网址中,但为了让爬虫了解我们的意图,最好先观察网页布局和网址。 25 页。

  第一页的网址是/top250

  第二页的开头是/top250?start=25&filter=

  第三页是/top250?start=50&filter=

  ...

  只有一个数字略有不同。我们的目的是抓取top250的电影数据,所以不能简单的把/top250粘贴到start url中,而应该是/top250?start=[0-250:25]&filter=

  注意start后[]中的内容,表示每25日为一个网页,抓取10个网页。

  最后点击Create sitemap,爬虫就建立好了。

  

  (URL也可以通过填写/top250来爬取,但是Web Scraper无法理解我们要爬取top250的所有页面的数据,它只会爬取第一页的内容。)

  4、 爬虫搭建好之后的工作才是重点。为了让 Web Scraper 理解意图,必须创建一个选择器并单击添加新选择器。

  

  然后就会进入选择器编辑页面,其实就是简单一点。其原理是几乎所有用HTML编辑的网页,组成元素都是相同或相似的盒子(或容器),每个容器中的布局和标签都是相似的。页面越规则越统一,从HTML代码也可以看出。

  所以,如果我们设置了选择元素和顺序,爬虫就可以根据设置自动模拟选择,数据就可以整齐的往下爬了。在爬取多个元素的情况下(比如爬豆瓣top250希望同时爬取排名、片名、评分、一句话影评),可以先选择容器,再选择容器中的元素容器依次。

  如图所示,依次

  

  5、 第四步只是创建一个容器选择器。 Web Scraper 仍然不理解要爬取的东西。我们需要在容器中进一步选择我们想要的数据(电影排名,电影名称,评分),一句话影评)。

  完成第4步保存选择后,会看到爬虫的根目录,点击创建的容器一栏。

  

  看到根目录root后跟container,点击Add new selector创建子选择器。

  

  再次进入选择器编辑页面,如下图。这次不同的是id字段填的是我们要抓取的元素的定义,随便写,比如先抓取电影排名,写一个数字;因为排名是文本类型。在类型中选择文本;这次只选择了容器中的一个元素,因此未选中 Multiple。另外,在选择排名的时候,不要选错地方,因为你选择什么爬虫都可以爬。然后点击完成选择并保存选择器。

  

  此时爬虫已经知道top250网页中所有容器的视频排名。同理,再创建3个子选择器(注意是在容器目录下)分别抓取电影名、评分、一句话影评。

  创建后就是这种情况。这时候所有的选择器都已经创建好了,爬虫已经完全理解了意图。

  

  6、接下来就是让爬虫跑起来,点击sitemap dbtop250,依次爬取(爬取)

  

  此时Web Scraper会让你填写请求间隔和延迟时间并保持默认2000(单位为毫秒,即2秒),除非网速极快或极慢,并且然后点击开始刮削。

  

  当你到达这里时,会弹出一个新的自动滚动网页,这是我们在创建爬虫时输入的网址。大约一分钟左右,爬虫完成工作,弹窗会自动消失(消失表示爬行完成)。

  

  而Web Scraper页面也会变成这样

  

  7、 点击刷新预览爬虫结果:豆瓣电影top250排名、电影名称、评分、一句话影评。看看有没有问题。 (比如有null,如果有null,说明对应的选择器没有选好。一般页面越规则,null越少。当遇到HTML不规则的网页时,比如知乎,空值比较多,可以返回调整选择器)

  

  这时候,可以说大功告成了。只需依次点击sitemap dbtop250和Export date as CSV即可下载CSV格式的数据表,然后就可以随意使用了。

  值得一提的是,浏览器抓取的内容一般都保存在本地的starage数据库中。该数据库功能单一,不支持自动排序。所以如果你不安装额外的数据库并设置它,爬取的数据表将是乱序的。在这种情况下,一种解决方案是将其导入google sheet然后进行清理,另一种一劳永逸的解决方案是安装一个额外的数据库,例如CouchDB,并在抓取数据之前更改数据存储到CouchDB的路径,然后爬取数据,预览和下载,是顺序的,比如上面的预览图。

  

  这整个过程看似繁琐,其实熟悉之后就很简单了。这种小规模的数据从头到尾两三分钟就OK了。而像这种小规模的数据,爬虫还没有完全发挥出它的用途。数据量越大,爬虫的优势越明显。

  比如爬取知乎选定的各个主题的内容,可以同时爬取,2万条数据只需要几十分钟。

  

  自拍

  如果你看到这个,你觉得按照上面的步骤一步一步来还是很困难的,有一个更简单的方法:

  通过导入站点地图,复制粘贴以下爬虫代码,导入,就可以直接开始抓取豆瓣top250的内容了。 (由上述一系列配置生成)

  {"_id":"douban_movie_top_250","startUrl":["/top250?start=0&filter="],"selectors":[{"id":"next_page","type":"SelectorLink", "parentSelectors":["_root","next_page"],"selector":".next a","multiple":true,"delay":0},{"id":"container","type": "SelectorElement","parentSelectors":["_root","next_page"],"selector":".grid_view li","multiple":true,"delay":0},{"id":"title", "type":"SelectorText","parentSelectors":["container"],"selector":"span.title:nth-of-type(1)","multiple":false,"regex": "","delay":0},{"id":"number","type":"SelectorText","parentSelectors":["container"],"selector":"em","multiple":false ,"regex":"","delay":0}]}

  

  最后,这个文章只涉及到Web Scraper和爬虫的冰山一角。不同的网站有不同的风格,不同的元素布局,不同的爬取要求,不同的爬取方式。 .

  比如有的网站需要点击“加载更多”加载更多,有的网站下拉加载,有的网页乱七八糟,有时需要限制数量爬取(否则网络爬虫不停地爬取),有时需要抓取二级和多级页面的内容,有时需要抓取图片,有时需要抓取隐藏信息,等等。有很多情况。攀登豆瓣top250只是入门体验版。只有了解了爬取的原理,遵守了网站的规则,才能真正使用Web Scraper,爬取你想要的。

  Hal Gatewood 在 Unsplash 上的标题地图

  文章首发于公众号“武学武术”,作者微m644003222

  

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线