为了从互联网上批量获取数据,研究了下spider,在此记录一笔学习经历。
今天先了解下robots协议,也叫爬虫协议,全称是“网络爬虫排除标准”(Robots Exclusion Protocol),网站通过Robots协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取。
比如打开 http://www.taobao.com/robots.txt 我们可以看到以下信息,表明淘宝不允许百度抓取/product信息,而允许google获取/product信息。
User-agent: Baiduspider Allow: /article Allow: /oshtml Allow: /ershou Allow: /$ Disallow: /product/ Disallow: / User-Agent: Googlebot Allow: /article Allow: /oshtml Allow: /product Allow: /spu Allow: /dianpu Allow: /oversea Allow: /list Allow: /ershou Allow: /$ Disallow:
我们可以自定义爬虫所使用的agent,比如我们可以按照以下方式定义agent,访问时使用其中一个。
ua_list = [ "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.79 Safari/537.36",#Chrome "Mozilla/5.0 (Windows NT 6.1; rv:40.0) Gecko/20100101 Firefox/40.0",#firwfox "Mozilla/5.0 (compatible, MSIE 11, Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko",#IE "Opera/9.99 (Windows NT 5.1; U; zh-CN) Presto/9.9.9",#Opera ] ua = random.choice(ua_list) #pick one
遨游浏览器提供了自定义user-agent的功能设置,大家可以自行选择。