零基础学爬虫(二):几分钟完成你的第一个爬虫程序!

浏览: 2243

上一篇文章,我们讲到了查询xml文件爬取网页数据(零基础学爬虫(一):不用编程抓取B站弹幕信息)。今天,我们开始正式搭建第一个爬虫程序。

我们打开谷歌浏览器,在Chrome网上应用商店搜索并安装一个名为“Web Scraper”的浏览器插件,安装谷歌浏览器插件需要科学上网的网络环境。小编给大家推荐一个科学上网软件(链接:http://gjsq.me/27695280),这个科学上网软件每天用手机客户端签到就可以获得免费时长。

“Web Scraper”插件安装成功以后,在谷歌浏览器右上角能看到一个网络爬虫的图标,点击快捷键F12打开谷歌浏览器开发者工具,会发现控制台菜单里多了一个“Web Scraper”的菜单。


接下来,我们就要开始制作我们的爬虫程序了。

一、首先,新建立一个爬虫规则。

1.打开小编的知乎个人主页,打开控制台点击“Web Scraper”,点击“Creat new sitemap”新建站点地图,点击“Create sitemap”创建一个新站点。


2.然后在“Sitemap name”输入自定义的站点地图名字,在“Start URL”输入目标网址,点击Create sitemap的确认按钮。


3.点击“Add new selector”新建选择器。


4.点击 Selector 的 select按钮,直接用鼠标点击网页上的元素, 绿色代表可采集的元素,点击后变成红色为锁定状态。


5.点击第二个采集数据,程序自动判定所有同类型元素并红色锁定后,点击“Done selecting”。


6.选择器的配置方法如下:

Type选择Text文本格式,

勾选“Multiple”按钮,表示本页中需要抓取多个元素。

全部操作完成后,点击Save Selector保存爬虫规则。


二、保存爬虫规则以后,我们开始抓取网页的数据。

1.我们点击Web Scraper菜单的“Sitemap”的“Scrape”,准备开始抓取数据。


2.设置爬虫的抓取规则,我们可以使用程序默认的数值,然后点击“Start scraping”开始抓取数据。这里的Request interval 是爬虫程序的请求间隔,Page load delay 是页面加载延迟,这两个数值都不宜设置的太短,否则容易被网站的反爬虫系统发现,导致爬虫程序无法正常工作。


3.点击“Start scraping”开始抓取数据以后,会自动弹出需要抓取数据的网页,程序爬取数据结束后会自动关闭这个网页,同时在控制台会显示数据爬取的结果。点击控制台的“Sitemap”的“Export data as CSV”将爬取的结果保存为excel可以打开的CSV格式,以便于以后的信息存储和数据挖掘。


三、抓取多页信息

1.点击“Sitemap”的“Edit metadata”。


2.修改“Start URL”的网址,比如小编的知乎主页有两页的粉丝,就输入:

https://www.zhihu.com/people/makersky/followers?page=[1-2]

网址结尾的“[1-2]”表示抓取的是第一页到第二页的内容。

修改抓取网址后,根据上面所说的抓取步骤进行数据抓取(点击“Sitemap”的“Scrape”,点击“Start scraping”开始抓取数据),就能将这两页目标元素的相关数据全部抓取下来了。


3.多页采集信息也有一些技巧,比如采集豆瓣电影评分排名前250名的电影,新建爬虫规则时,在新建站点的“Start URL”输入:

https://movie.douban.com/top250?start=[0-250:25]&filter=


为什么在输入网址时的数据是“[0-250:25]”呢?我们打开豆瓣电影评分前250的排行榜:https://movie.douban.com/top250 ,点击“后页”后仔细观察网址可以发现,豆瓣电影TOP250的排行榜网址的变化规律是一个以25为公差的等差数列,所以start后面的数据是“[0-250:25]”。

大家如果能熟练使用“Web Scraper”这个插件,几分钟就能搭建一个爬虫程序!总之,只要仔细观察和耐心的琢磨,使用“Web Scraper”是可以抓取到很多有用的信息的!


推荐 1
本文由 李亮辰 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

0 个评论

要回复文章请先登录注册