网络爬虫简介

网络爬虫何时有用

假设我们有一个鞋店,并且想要及时了解竞争对手的价格。我们可以每天访问他们的网站,与我们的价格进行对比。但是,如果我们店铺只能够的鞋类种类繁多,或者希望能够更加频繁地查看价格变化的话,就需要花费大量的时间,甚至难以实现。再举一个例子,我们看中了一双鞋,想要它促销时再购买。我们可以等待几个月的时间,我们才能如愿盼到这双鞋促销。上面的情况,是重复性的手工流程,这些都是我们可以利用爬虫技术来实现自动化处理的。

理想状态下,网络爬虫并不是一种必须品,这是因为每个网站都可能提供api,以结构化的方式共享他们的数据。然而在现实中,一些网站即使提供了api,依旧会限制我们抓取的速度,以及访问频率。这个时候我们就不能仅仅依靠api去得到我们所需要的在线数据,而应该利用网络爬虫技术。

背景调研

在深入研究一个网站之前,我们需要对目标网站的规模和结构有一定程度的了解。其中网站自身的robots.txt和Sitemap文件都可以提供一定的帮助,在此之外,一些工具可以给我们提供更加详细的信息,比如google搜索和WHOIS

帮助

访问网站的robots.txt文件,则只需要在网站的首页地址后面加上/robots.txt,举个栗子,如果我们要访问https:www.baidu.com的robots.txt文件,则只需要在地址栏这样填写https:www.baidu.com/robots.txt

google搜索的技巧(百度类似),只需在域名前面加上site:即可查看该域名下的所有网址,举个小栗子,在百度搜索框这样填写site:baidu.com

识别网站所用技术

网站所使用的技术类型也会对我们如何爬取产生影响,这里给大家安利一个非常有用的模块---builtwith

pip install builtwith即可安装,举个小栗子

找到网站的拥有者

对于有一些网站,我们可能需要关心它的拥有者。比如,我们已知网站的所有者会封禁网络爬虫,那我们则需要下载速度控制的更加保守一些,为了知晓网站的所有者,我们可以使用WHOIS协议查询域名的详细信息,给大家安利一个Python的封装库。pip install whois即可安装

。。。这个,没错就是我注册的域名,不过我乜用它,啊哈哈哈

最近开始专研Python爬虫了,人生苦短,我用python

~~网上有许多mysql的教程,但是大多数基础教程都是使用世界上最好的语言写的demo

所以我在学习时就将自己写的一些python小栗子记录了下来

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180326G1WOTV00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券