1 robots协议

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

如:

淘宝网:https://www.taobao.com/robots.txt

User-agent:  Baiduspider
Allow:  /article
Allow:  /oshtml
Disallow:  /product/
Disallow:  /

User-Agent:  Googlebot
Allow:  /article
Allow:  /oshtml
Allow:  /product
Allow:  /spu
Allow:  /dianpu
Allow:  /oversea
Allow:  /list
Disallow:  /...

腾讯网:http://www.qq.com/robots.txt

User-agent: *
Disallow:
Sitemap: http://www.qq.com/sitemap_index.xml

豆瓣网:https://www.douban.com/robots.txt

马蜂窝:http://www.mafengwo.cn/robots.txt

搜索引擎和DNS解析服务商(DNSPod)合作,新网站域名将被迅速抓取。但搜索引擎蜘蛛的爬行是被输入了一定的规则的,它需要遵从一些命令或文件内容,如标注为nofollow的链接,或者是Robots协议;另一种则是通过网站的站长主动对搜索引擎提交的网址,搜索引擎则会在接下来派出“蜘蛛”,对该网站进行爬取。

2 网站地图sitemap

网站地图sitemap是网站所有链接的容器;是依据网站的结构、框架、内容生长的导航页面文件,一般存放在根目录下并命名为sitemap。

很多网站的链接层次较深,蜘蛛很难抓取到,网站地图可方便搜索引擎蜘蛛抓取网站页面,增加网站重要内容页面的收录,以便清晰了解网站的架构

网站地图sitemap有两种形式

2.1 HTML

HTML版本的网站地图,也即网站上所有页面的链接,但对于规模较大的网站来说,一种办法是网站地图只列出网站最主要的链接,如一级分类、二级分类;第二种办法是将网站地图分成几个文件,主网站地图列出次级网站的链接,次级网站列出部分页面链接

2.2 XML

XML版本网站地图是由Google首先提出的,其是由XML标签组成的,文件本身必须是utf-8编码,网站地图文件实际上就是列出网站需要被收录页面的URL,最简单的网站地图可以是一个纯文本,文件只要列出页面的URL,一行列一个URL,搜索引擎就能抓取并理解文件内容

也可以使用第三方工具生成某网站的sitemap ,例如小爬虫sitemap网站地图生成工具

3 估算网站的大小

可以使用搜索引擎来估算网站大小,如搜索时添加site。

该方法仅是通过百度搜索引擎大致估算网站大小,因有些网站对爬虫的限制,以及搜索引擎本身爬取数据技术的局限性,所以该数据仅是估算值,是估算网站体量量级的经验值。

注:百度只能做一级页面的统计,Google可以做到二级页面的统计

4 识别网站中用了何种技术

为了更好地了解网站,抓取该网站的信息,我们可先了解一下该网站大致所使用的技术架构

builtwith

安装:(windows)pip install bulitwith;   (Linux)sudo pip install builtith

使用:在python交互环境下,输入:

import builtwith

builtwith.parse("http://www.sina.com.cn")

5 确定网站的所有着

有时候需要追寻网站的所有者是谁,可以通过python-whois软件查看

whois

安装:(windows)pip install python-whois

使用:在python交互环境下输入:

import whois

whois.whois("http://www.sina.com.cn")

												

pythonl学习笔记——爬虫的基本常识的更多相关文章

  1. pythonl练习笔记——爬虫的初级、中级、高级所匹配的知识

    1 初级爬虫 (1)Web前端的知识:HTML, CSS, JavaScript, DOM, DHTML, Ajax, jQuery,json等: (2)正则表达式,能提取正常一般网页中想要的信息,比 ...

  2. Scrapy爬虫学习笔记 - 爬虫基础知识

    一.正则表达式 二.深度和广度优先                                三.爬虫去重策略

  3. JS学习笔记1_基础与常识

    1.六种数据类型 5种基础的:Undefined,Null,Boolean,Number,String(其中Undefined派生自Null) 1种复杂的:Object(本质是一组无序键值对) 2.字 ...

  4. python学习笔记——爬虫学习中的重要库urllib

    1 urllib概述 1.1 urllib库中的模块类型 urllib是python内置的http请求库 其提供了如下功能: (1)error 异常处理模块 (2)parse url解析模块 (3)r ...

  5. python学习笔记——爬虫中提取网页中的信息

    1 数据类型 网页中的数据类型可分为结构化数据.半结构化数据.非结构化数据三种 1.1 结构化数据 常见的是MySQL,表现为二维形式的数据 1.2 半结构化数据 是结构化数据的一种形式,并不符合关系 ...

  6. python学习笔记——爬虫的抓取策略

    1 深度优先算法 2 广度/宽度优先策略 3 完全二叉树遍历结果 深度优先遍历的结果:[1, 3, 5, 7, 9, 4, 12, 11, 2, 6, 14, 13, 8, 10] 广度优先遍历的结果 ...

  7. JavaScript学习笔记1_基础与常识

    1.六种数据类型 5种基础的:Undefined,Null,Boolean,Number,String(其中Undefined派生自Null) 1种复杂的:Object(本质是一组无序键值对) 2.字 ...

  8. python库学习笔记——爬虫常用的BeautifulSoup的介绍

    1. 开启Beautiful Soup 之旅 在这里先分享官方文档链接,不过内容是有些多,也不够条理,在此本文章做一下整理方便大家参考. 官方文档 2. 创建 Beautiful Soup 对象 首先 ...

  9. 《Unix&Linux大学教程》学习笔记三:Shell常识

    1:全局变量与局部变量 全局:可以从父进程传递给子进程的变量,如:环境变量. 局部:只能在特定的子Shell中使用的变量. 局部变量变全局:使用 “export 局部” 指令将创建的局部变量导出到环境 ...

随机推荐

  1. OTL翻译(3) -- OTL的主要类

    相比于传统的C++类库而言,OTL更像是一个代码容器,里面复杂,但对外的接口简单.OTL在处理程序方面受到了STL的影响. OTL有一个模板框架,它实现了otl_stream的概念.该框架由模板类和内 ...

  2. Volley框架的介绍使用

    Volley是在2013年的Google I/O 2013大会上发布的,是我们的网络通信更快,更简单,更方便.对于初学者来讲是一个很好的框架. 简单来说,它提供了如下的便利功能: JSON,图像等的异 ...

  3. AndroidManifest 中android:exported

    假设Service等的AndroidManifest中声明为android:exported="false" 则该服务不可以跨进程使用.         Permission De ...

  4. nGrinder3.4 性能测试框架安装

    转载:https://blog.csdn.net/mbugatti/article/details/53782070 nGrinder3.4 (2016.05.24) 支持JDK1.8 github地 ...

  5. Linux远程上传、下载文件的方法

    主要内容: ftp命令 scp命令 WinScp Putty (PSCP) Xshell 一.ftp命令 服务器有安装ftp Server,另外一台linux可以使用ftp的client程序来进行文件 ...

  6. Android实现Material Design风格的设置页面(滑动开关控件)

    前言 本文链接 http://blog.csdn.net/never_cxb/article/details/50763271 转载请注明出处 參考了这篇文章 Material Design 风格的设 ...

  7. 配置Tomcat和JDK

    第一步:下载jdk和tomcat 第二步:安装和配置你的j2sdk和tomcat:执行j2sdk和tomcat的安装程序,然后按默认设置进行安装即可. 1.安装j2sdk以后,需要配置一下环境变量,在 ...

  8. CSS 杂记

    1. z-index: img{ position:absolute; left:0px; top:0px; z-index:-1;} 所有主流浏览器都支持 z-index 属性. 注释:任何的版本的 ...

  9. PHP表单- PHP $_GET 变量

    PHP $_GET 变量 在 PHP 中,预定义的 $_GET 变量用于收集来自 method="get" 的表单中的值. $_GET 变量 预定义的 $_GET 变量用于收集来自 ...

  10. Java从零开始学二(标识符和关键字)

    标识符.关键字.注释 一.标识符 Java中的包.类.方法.参数和变量的名字由任意顺序的大小字母.数字.下划线(_).和美元符号($)组成, 标识符:不能以数字开头.也不能是JAVA中的保留关键字 如 ...