查看原文
其他

不用敲代码,5分钟教会你爬虫

苏笙君 有范青年 2022-05-14

我们终将活成自己期待的模样


爬虫是什么?


相信大家对爬虫都不陌生,特别是做过网站的站长,这里也简单跟大家解释一下:


如果我们把互联网比作一张大的蜘蛛网,数据便是存放于蜘蛛网的各个节点,而爬虫就是一只小蜘蛛,


它会沿着网络抓取自己的猎物(数据)爬虫指的是:向网站发起请求,获取资源后分析并提取有用数据的程序;


从技术层面来说就是通过程序模拟浏览器请求站点的行为,把站点返回的HTML代码/JSON数据/二进制数据(图片、视频) 爬到本地,进而提取自己需要的数据,存放起来使用。


举个栗子:


比如我的工作是新媒体小编,现在要学写作取标题,最简单的方式就是去目标公众号/网站等复制他们的标题到Excel来进行分析。


这样的傻瓜式操作很简单,但是效率很低,也很慢,而最高效的方式是什么呢?就是通过爬虫直接爬取我需要的标题,而这个过程仅仅需要1分钟。


废话不多说,跟我一起来操作吧。



01

准备工作


在你的浏览器安装:“webscraper”扩展,直接在浏览器应用市场下载即可,推荐使用chrome浏览器。



安装好之后,启用它。


进入你要爬取数据的页面,以下我将以知乎来为大家举例。比如我要爬取知乎小管家的所有文章标题,那么就先进入到知乎小管家的文章页面。



然后,按下键盘的F12,进入开发者工具。


当然有些浏览器不同,可能F12进入不了,你可以使用以下快捷键:


win:Ctrl+Shift+I

mac:Cmd+Opt+I, 或者 Tools / Developer tools


或者直接在页面按鼠标右键选择审查元素,或者是检查。比如我的是chrome浏览器,就是检查。


然后调出浏览器开发者工具。



默认是在浏览器的右侧,点击右上角三个点,选择第三个把他放到浏览器下方。




02

正式开始


第一步:创建sitemap


在开发者工具的菜单当中选择最后一个,也就是你刚刚安装的那个扩展:


然后在第二行里选择第三个,也就是:Create new sitemap


然后选择Create Sitemap


创建好之后会出现两个选项让你填写:


sitemap name:这个可自定义,比如我要抓取的是文章标题,那么我就填写biaoti就可以了。

start url:这个是你要爬取页面的URL,也就是我要把知乎小管家文章页面的链接复制到这里。


以下是我填好后的:


然后点击Create Sitemap,第一步就完成了。



第二步:添加 selector


点击add new selector



然后又出来一些选框:



id:因为我们要爬取的是标题,所以就填:“title”。

type:这是个选项,一样,因为我们要爬取的是标题,也就是文本,所以这里我们就选默认的Text。

Selector:最重要的一步,待会演示。

Multiple:打上勾

Regex:不用管

Parent Selectors:不用管


以下是我填好的:



刚刚还有Selector这个最重要的一步我们没有做,现在我们来说说它,这里有3个选项,分别是:


1、Select = 选择器

2、Elementt preview = 预览

3、Data preview = 数据预览


其实大家如果看得懂英文就知道它的意思了。


现在我们开始操作,首先点击Select选择器,然后你会发现多出来一个窗口:



这个时候你会发现当你的鼠标移动到页面内容的时候会发生变化,我们把它移动到标题,然后点击一下标题,点击完成之后在点击下一个就OK了。


也就是我们一共要点击两下标题,第一个和第二个。点完之后是这样的:



你看,虽然我只点了第一个和第二个,但是它下面的所有标题都被选中了。


这里还要跟大家说明一下:


点第一个标题也可以说是定位,也就是说爬虫要从哪里开始抓取,比如上图,我也可以从第二个标题开始选择,然后点一下第三个标题,然后底下的标题就全部被选择,只有第一个不会被选中。


但它不能选择从哪里结束,只能定位开始。


标题全部被选中后,然后我们点击窗口的 Done selecting!



然后这一步我们就完成了,但是别忘了刚刚我们说到的Selector这里还个预览,也就是:


Elementt preview

Data preview


我们点击Elementt preview你会发现页面中的标题又全变红了,也就是选中了,再次点击就是取消预览;然后点击Data preview你会发现:



当然这个只是窗口预览,但其实如果只是标题的话,我们可以直接在这个窗口全部复制然后粘贴到电脑里。


但是还是建议大家下载下来哈。预览没问题之后,点击Save selector保存:




第三步:开始抓取


我们再次点击第二行菜单里的Sitemap biaoti,然后选择Scrape。


然后又会跳出来最后两个数据让你填写;



但是这个我们不用管它,默认的2000就好,直接点击Start scraping开始抓取。


也解释一下它的意思:


它意思是抓取的间隔时间以及页面加载延迟时间。


比如我要抓取知乎的多个页面,那就要设置间隔时间,这样可以避免被知乎的反爬虫监测到。


但如果你不设置间隔时间的话,一秒钟访问一个网站几十次甚至上百次,这很明显不是人为的,所以很容易触发该网站的反爬虫机制,后果就是会封掉你IP地址,你就再也别想在你的电脑上访问知乎这个网站了,更别提继续抓取了~


还有一点也要跟大家说明一下,你在抓取该网站数据的时候,你也会占用该网站的带宽,如果这个网站的带宽允许同时100个人访问,但你一秒钟就给它访问了几十上百次,可能会导致该网站其他用户无法打开页面,或者加载延迟等问题。


这会大大对该网站造成非常不好的影响,所以,各位可不要用这个去攻击别人的网站啊。太缺德了


设置好时间之后我们点击Start scraping开始正式抓取。


这个时候它会弹出一个窗口,我们不用管它,然后大概几秒钟后就抓取完了。



第四步:导出至本地


我们再次点击 Sitemap biaoti 选择 Export data as CSV



然后点击 Download now!下载。



然后我们用Excel打开:



怎么样,是不是很简单,如果你会英语,就更好理解了。


最后


今天教大家的只是抓取单页面和文本信息,下次在教大家抓取多页面以及其它内容,比如图片/视频等。


想跟范叔一起学习更多技术的可以加入我的星球哟~


点击下图详细了解哦:




最后的最后,


还是要提醒下大家,技术让我们变得强大,但是我们自己得有一定的道德约束。


可千万别想着靠这个去攻击别人的网站呀,那我可成罪人了。


当然了,这个攻击只是渣渣,如果你想学,可以来范叔星球,什么POST渗透、GET渗透、CC攻击、Cookie渗透、ddos攻击、SQL注入、表格篡改、代码注入、挂马等等任你学。


不过你要是想学了去干坏事,警察叔叔也随时在恭候你



# 其他文章 #



百度文库免费下,还能通过它赚钱~

景甜张继科分手:爱过就够了,余生就算了

高速下载神器IDM,提升5倍下载速度

那群在试衣间自嗨的女孩,你们够了

3秒被抢光的优衣库联名,让无数人的素质掉一地




最后

欢迎关注「有范青年」,

一起变小众


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存