上一篇文章,我们讲到了查询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”是可以抓取到很多有用的信息的!