爬虫是一个技能型的知识,不是说掌握了一次就能学好,而是需要学懂原理,在不同的网站上有不一样的设置和应用。
今天就来3个练习题,每道题练习5遍,确保熟练掌握。
1,抓取下面这个页面文章所有的标题
https://www.zhihu.com/people/huangyoucan/answers
2,抓取《猫总在路上》这个公众号所有的历史文章标题
3,抓取豆瓣Top250所有电影的标题
https://movie.douban.com/top250
疑问一:这个多页面怎么抓取?
第一页:https://movie.douban.com/top250?start=0&filter=
第二页:https://movie.douban.com/top250?start=25&filter=
这里会发现豆瓣的第一页和第二页的编码差为25,可以用这个URL来代替:
https://movie.douban.com/top250?start=[0-225:25]&filter=
225是最后一页的数字,25是等差数。
疑问二:爬出来的数据为什么不是按顺序排列的?
如果需要按顺序排列,有两个个解决方法
方法一,同时抓取页面里的序号,在excel中排列,这个方法后面再讲。
方法二,安装couchDB。
CouchDB的安装和配置
下载地址:http://couchdb.apache.org/
在webscraper的配置如下
sitemap db - http://localhost:5984/scraper-sitemaps
data db - http://localhost:5984/
配置webscraper
右键单击web scraper的图标,选择“选项”
将存储地设置为couchDB,参数按照上面的来设置。
配置CouchDB
浏览器输入地址:http://127.0.0.1:5984/_utils/
1,点击creat database
2,输入数据库名称
3,点击create
最后关闭浏览器重新打开,CouchDB就能生效了。
大家可能会发现一个问题,再次打开的时候,之前创建的sitemap内容不见了。这是因为之前的sitemap创建在浏览器内置的数据库,现在更换到couchDB,浏览器就读取不到之前的信息了。
解决方法:
1,进入到某个sitemap,点击Export,将出现的代码复制。
2,转换到CouchDB后,点击Import sitemap,将复制的代码粘贴到Sitemap JSON,然后设置站点名称,点击最后的Import Sitemap即可。