爬虫類の基礎入門
前戯:
1、あなたはより良い絵眠れます何か見たい場合は、夜の死者に
2を、あなたは審査や面接の前夜にある、インタビューの質問やトピックのいくつかは、対象と見るために
3を、あなたは混乱しますかオンラインの世界では必要なデータを取得
:爬虫類が何であるか
、プロセスは、インターネット上のグラブデータを手放す、シミュレーションプログラムを書き込むことにより、インターネットブラウザを- 。
バリュー爬虫類:
-実用化
-雇用
法的または違法である何爬虫類?
-法律で禁止する準備ができていないです
違法持っていることの危険性を-
-のれん悪質な爬虫類爬虫類の
もたらした危険爬虫類は、次の二つの側面に反映させることができる:
-爬虫類は、サイトへのアクセスの正常な動作を妨げる
-爬虫類は、特定の法的保護を受けるクロールデータや情報の種類
、それを書き込む処理で爬虫類の使用においてサブオフィスを入力するように不運を避ける方法の?
-自分のサイトの通常の操作でアクセスすることとの干渉を避けるための手順と、市場の最適化
-あなたはユーザーのプライバシーや企業秘密に設計発見した場合、使用時には、普及がデータをクロール、レビューは、コンテンツをクロールし、タイムリーに及びその他の機密コンテンツのニーズを伝播を停止またはクロール
シーン分類使用してクローラーを
-一般爬虫類:
システムの重要な部分を把持します。
これは、インターネットは、データのページ全体でクロールします。
-集束クローラ:
一般的な爬虫類に基づいています。
クロールは、ページの特定のローカルコンテンツです。
-インクリメンタル爬虫類:
ケース検出サイトのデータが更新されます。
ただ、最新の更新データ中の部位のうち、クロール。
爬虫類の槍と盾
アンチ上昇のメカニズム
-ポータルは、適切なポリシーまたはクロールプログラムのウェブサイトのデータ爬虫類を防止するための技術的手段を開発することができます。
抗抗クライミング戦略
-あなたはデータポータルを得ることができるので、クローラはまた、機構ポータルが持つ抗登るを破るために、関連の戦略や技術を開発することができます
robots.txtのプロトコル
-紳士協定と呼ばれます。
-データがデータをクロールすることはできませんフェッチ爬虫類クロールすることができ、サイトのために提供します。
例:www.taobao.com/robots.txt
httpプロトコル
-コンセプト:サーバーとクライアントモードのデータ相互作用があります。
一般的な要求ヘッダー
-のUser-Agent:アイデンティティ要求ベクター
-接続:要求が完了した後、接続が切断され、または接続されたままでいることを示し
レスポンス共通ヘッダ
-のContent-Type:クライアントへ戻るサーバーの応答データの種類
HTTPSプロトコル:
-セキュアハイパーテキスト転送プロトコルの
暗号化
- 対称暗号化キー:クライアントがサーバーにメッセージを送信するには、クライアントの最初の情報は、MD5またはBase64の暗号化、中間、使用する暗号化復号鍵の必要性の終了情報を受け取るなど、既知のアルゴリズムを使用して暗号化されています渡されたキーは、(暗号化と復号鍵が同じである)、伝送中間鍵が暗号化されています。このアプローチは、安全なようだが、まだ潜在的に危険がある、一度タップ、または情報が開催されて人質、キーを解読し、情報を破ることが可能です。そのため、セキュリティ上のリスクをこのように「鍵暗号を共有します」。
- 非对称秘钥加密:“非对称加密”使用的时候有两把锁,一把叫做“私有密钥”,一把是“公开密钥”,使用非对象加密的加密方式的时候,服务器首先告诉客户端按照自己给定的公开密钥进行加密处理,客户端按照公开密钥加密以后,服务器接受到信息再通过自己的私有密钥进行解密,这样做的好处就是解密的钥匙根本就不会进行传输,因此也就避免了被挟持的风险。就算公开密钥被窃听者拿到了,它也很难进行解密,因为解密过程是对离散对数求值,这可不是轻而易举就能做到的事。以下是非对称加密的原理图:
- 但是非对称秘钥加密技术也存在如下缺点:
- 第一个是:如何保证接收端向发送端发出公开秘钥的时候,发送端确保收到的是预先要发送的,而不会被挟持。只要是发送密钥,就有可能有被挟持的风险。
- 第二个是:非对称加密的方式效率比较低,它处理起来更为复杂,通信过程中使用就有一定的效率问题而影响通信速度
- 但是非对称秘钥加密技术也存在如下缺点:
- 证书秘钥加密:在上面我们讲了非对称加密的缺点,其中第一个就是公钥很可能存在被挟持的情况,无法保证客户端收到的公开密钥就是服务器发行的公开密钥。此时就引出了公开密钥证书机制。数字证书认证机构是客户端与服务器都可信赖的第三方机构。证书的具体传播过程如下:
- 服务器的开发者携带公开密钥,向数字证书认证机构提出公开密钥的申请,数字证书认证机构在认清申请者的身份,审核通过以后,会对开发者申请的公开密钥做数字签名,然后分配这个已签名的公开密钥,并将密钥放在证书里面,绑定在一起
- 服务器将这份数字证书发送给客户端,因为客户端也认可证书机构,客户端可以通过数字证书中的数字签名来验证公钥的真伪,来确保服务器传过来的公开密钥是真实的。一般情况下,证书的数字签名是很难被伪造的,这取决于认证机构的公信力。一旦确认信息无误之后,客户端就会通过公钥对报文进行加密发送,服务器接收到以后用自己的私钥进行解密。