1.1 爬虫修炼之道——网站基本知识

欢迎大家关注我的专题:爬虫修炼之道

robots.txt

robots.txt 一般指robots协议,robots协议(也称为爬虫协议、机器人协议等)的全称是“网络爬虫排除标准”(Robots Exclusion Protocol),网站通过Robots协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取。

robots.txt文件一般都在网站的根目录,例如,京东的首页url为 https://www.jd.com,则robots.txt存放在 https://www.jd.com/robots.txt

京东官网的 robots.txt

sitemap(网站地图)

sitemap 可方便网站管理员通知搜索引擎他们网站上有哪些可供抓取的网页。最简单的 Sitemap 形式,就是XML 文件,在其中列出网站中的网址以及关于每个网址的其他元数据(上次更新的时间、更改的频率以及相对于网站上其他网址的重要程度为何等),以便搜索引擎可以更加智能地抓取网站。

估算网站大小

如果要爬取一个网站时,我们首先需要了解该网站的大小是多少。我们可以使用 百度的高级搜索 或者 谷歌的高级搜索 来实现。

例如想要估算smzdm.com域名所包含的网页大小,我们可以在百度高级搜索的“站内搜索”输入框输入smzdm.com:

百度高级搜索界面

然后回车,得到如下页面:

百度site高级搜索结果

从图中可以看出,百度估算该网站拥有10,700,000个网页。

如果我们想要得到指定于域名下特定条件的筛选结果,只需将URL拼接起来就可以了,比如想要得到smzdm.com/p网页的个数,这儿我们使用百度高级搜索来搜索,发现没有得到结果:

百度site高级搜索

改用谷歌高级搜索来实现:

谷歌高级搜索界面

回车得到结果:

谷歌site高级搜索结果

识别网站所用技术

构建网站时采用的技术会对我们之后如何进行爬取数据产生影响,python有一个可以查看网站构建的技术类型的模块——builtwith 。安装方法如下:

pip install builtwith

使用方法如下:

In [1]: import builtwith

In [2]: builtwith.builtwith("http://www.smzdm.com/")
Out[2]:
{u'advertising-networks': [u'DoubleClick for Publishers (DFP)'],
 u'tag-managers': [u'Google Tag Manager']}

此外,也可以使用 wappalyzer 工具来进行分析。该工具可以作为chrome或firefox的插件使用。下图为将该工具安装在chrome之后检测“http://www.smzdm.com”使用技术的结果:

wappalyzer

可以看出,使用wappalyzer插件得到的结果比python的builtwith模块得到的结果更详细。

寻找网站所有者

有时候我们可能需要得到某个网站的所有者,python有一个可以查看whois的模块——python-whois

pip install python-whois

使用方法如下:

In [13]: import whois

In [14]: print whois.whois("smzdm.com")
{
  "updated_date": "2017-02-09 00:00:00",
  "status": [
    "ok https://icann.org/epp#ok",
    "ok http://www.icann.org/epp#ok"
  ],
  "name": "guodong sui",
  "dnssec": "unsigned",
  "city": "beijing",
  "expiration_date": [
    "2018-06-30 00:00:00",
    "2018-06-30 07:49:04"
  ],
  "zipcode": "100000",
  "domain_name": "SMZDM.COM",
  "country": "CN",
  "whois_server": "whois.godaddy.com",
  "state": "Beijing",
  "registrar": "GoDaddy.com, LLC",
  "referral_url": "http://www.godaddy.com",
  "address": "fengtaiqu",
  "name_servers": [
    "NS1.DNSV2.COM",
    "NS2.DNSV2.COM"
  ],
  "org": "Beijing Zhidemai Technology Co.,Ltd.",
  "creation_date": [
    "2010-06-30 00:00:00",
    "2010-06-30 07:49:04"
  ],
  "emails": [
    "abuse@godaddy.com",
    "webmaster@smzdm.com"
  ]
}

此外,还可以使用一些在线whois查询,例如,百度云的 域名注册信息查询 。下图为使用该工具查询“smzdm.com”域名的注册信息:

百度云域名注册信息查询结果

下篇我们将讲解如何使用python来下载一个页面:爬虫修炼之道——编写一个爬取单页面的网络爬虫

欢迎大家关注我的专题:爬虫修炼之道

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 什么是网络爬虫 大数据时代,获得完整全面的数据,是件极其重要却并不容易的事情。要真正做好大数据时代的分析,就需要借...
    ReinhardHuang阅读 959评论 0 10
  • 网络爬虫的君子协议 网络爬虫的尺寸 网络爬虫引发的问题 性能骚扰 法律风险 隐私泄露 网络爬虫的"性能骚扰"web...
    若与阅读 33,863评论 2 43
  • 书名:《用python写网络爬虫》,通过阅读并记录去学习,如果文章有什么错误的地方还希望指正本文参考了http:/...
    枫灬叶阅读 2,998评论 2 2
  • 你爬了吗? 要玩大数据,没有数据怎么玩?这里推荐一些33款开源爬虫软件给大家。 爬虫,即网络爬虫,是一种自动获取网...
    Albert新荣阅读 2,305评论 0 8
  • 一直认为自己 处在三观揉碎重构的阶段 能平和的与自己暂时性的逻辑不足相处 不曾想却给自己加了个心理暗示和刻板印象(...
    Rutona阅读 233评论 0 0

友情链接更多精彩内容