[関連する学習の推奨事項: ウェブサイト制作ビデオ チュートリアル]
クローラーとは何ですか? 一方的に簡単に言うと、クローラーはコンピューターが自動的にサーバーと対話してデータを取得できるようにするツールです。クローラーの最も基本的なことは、Web ページのソース コード データを取得することですが、さらに深く掘り下げると、Web ページと POST 対話し、POST リクエストの受信後にサーバーから返されたデータを取得することになります。クローラーとは、一言で言えばソースデータを自動的に取得するためのもので、それ以上のデータ処理等については後続の作業となるため、今回は主にクローラがデータを取得する部分についてお話したいと思います。クローラーの皆様は、Web サイトの Robot.txt ファイルに注意して、クローラーが法律を犯したり、Web サイトに損害を与えたりしないようにしてください。
クロール対策とクロール対策の概念の不適切な例
# さまざまな理由 (サーバー リソース、データ保護など) により、多くの Web サイトでクローラーの有効性を制限します。
考えてみてください、人間がクローラーの役割を果たしている場合、Web ページのソース コードはどのように取得すればよいでしょうか? 最も一般的に使用される方法は、もちろんソース コードを右クリックすることです。
Web サイトで右クリックがブロックされています。どうすればよいですか?
クロールで使用する最も便利な機能である F12 を取り出してください (相談歓迎)
F12 を同時に押して開きます (面白い)
ソースコードが出てきました!!
人を次のように扱うときクローラー、右クリックをブロックします。これはクロール対策戦略であり、F12 はクロール対策メソッドです。
正式なクローリング防止戦略について話しましょう
実際、クローラを作成するプロセスでは、データが返されない状況が必ず発生します。この場合、サーバーは UA ヘッダー (ユーザー エージェント) を制限する可能性があります。これは非常に基本的なクロール対策です。リクエストを送信するときに UA ヘッダーを追加するだけです... 非常に簡単ではありませんか?
実際には、必要なリクエスト ヘッダーをすべて追加する必要があります。これは単純で大雑把な方法です...
Web サイトの確認コードもクロール防止戦略であることを発見したことがありますか? Web サイトのユーザーが実際の人間であること、検証コードが実際に実行されていることを確認することは、大きな貢献です。確認コードとともに、確認コード認識が表示されました。
そういえば、認証コード認識と画像認識のどちらが先だったのでしょうか?
現在では、単純な認証コードを認識するのは非常に簡単です。インターネット上には、チュートリアルが多すぎます。ノイズ除去、バイナリ、セグメンテーション、再編成などの高度な概念。しかし現在、Web サイトの人間と機械の認識は、次のようにますます恐ろしいものになっています。
バイナリ値のノイズ除去の概念について簡単に説明しましょう
検証 コード
は
となり、バイナリ値になります。つまり、画像自体を のみに変更します。 2 つのトーンの例 これは非常に単純です。Python PIL ライブラリの
Image.convert("1")
を通じて実現できます。ただし、画像がより複雑になる場合は、まだ
単純な方法を直接使用すると、
#次のようになります。この認証コードをどうやって特定するかというと、この時デノイズが役に立ちます認証コード自体の特徴を元に認証コードの背景色やフォント以外のRGB値を計算することができ、これらをフォントはそのままにして、値を色に変換できます。サンプルコードは以下の通りです、色を変更するだけです
for x in range(0,image.size[0]): for y in range(0,image.size[1]): # print arr2[x][y] if arr[x][y].tolist()==底色: arr[x][y]=0 elif arr[x][y].tolist()[0] in range(200,256) and arr[x][y].tolist()[1] in range(200,256) and arr[x][y].tolist()[2] in range(200,256): arr[x][y]=0 elif arr[x][y].tolist()==[0,0,0]: arr[x][y]=0 else: arr[x][y]=255
Arrはnumpyで取得されます 画像のRGB値を元に行列が取得されます 読者はコードを改良して実験してみることができます自分たち自身のために。
注意深く処理すると、画像は
になる可能性があります。認識率は依然として非常に高いです。
検証コードの開発では、かなり明確な数字と文字、単純な加算、減算、乗算、除算用のホイールがオンラインで入手できます。一部の難しい数字、文字、漢字については、独自のホイールを作成することもできます (例:上記と同様) ですが、人工知能を作成するには他にも十分なものがあります... (仕事の 1 つは検証コードを認識することです...)
ちょっとしたヒントを追加: 一部の Web サイトには検証コードがありますPC 側ではありますが、携帯電話側ではありません...
次のトピック!
より一般的なクロール防止戦略の 1 つは、IP ブロック戦略です。 . 通常、短期間にアクセスが多すぎるとブロックされます. これは非常に簡単です. アクセス頻度を制限したり、IPプロキシプールを追加したりするだけでOKです. もちろん分散することもできます... あまり使用されていませんが、それでもわかりました。
もう 1 つの種類のクローラー対策戦略は、非同期データです。クローラーが徐々に強化されると (明らかに Web サイトの更新です!)、非同期読み込みは必ず遭遇する問題であり、その解決策は次のとおりです。まだF12です。匿名の NetEase Cloud Music Web サイトを例に挙げます。右クリックしてソース コードを開いた後、コメントを検索してみてください。
データはどこにありますか?! これは後で非同期です。 JS と Ajax の台頭、搭載された機能。ただし、F12 を開き、[ネットワーク] タブに切り替え、ページを更新して、注意深く検索すると、秘密はありません。
# ああ、ところで、曲を聴いている場合は、クリックするとダウンロードできます...
## のみ Web サイトの構造を普及させるために、意識的に著作権侵害に抵抗し、著作権を保護し、オリジナルの作成者の利益を保護してください。
以上がクローラーと Web サイトのクロール防止メカニズムのバイパスに関する簡単な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

在当今的电商时代,京东作为中国最大的综合电商之一,每日上架的商品数量甚至可以达到数万种。对于广大的消费者来说,京东提供了广泛的商品选择和优势的价格优惠。但是,有些时候,我们需要批量获取京东商品信息,快速筛选、比较、分析等等。这时候,我们就需要用到爬虫技术了。在本篇文章中,我们将会介绍利用PHP语言编写爬虫,帮助我们快速爬取京东商品信息的实现。准备工作首先,我

在数字化时代下,社交媒体已经成为人们生活中不可或缺的一部分。Twitter作为其中的代表,每天有数亿用户在上面分享各种信息。对于一些研究、分析、推销等需求,获取Twitter上的相关数据是非常必要的。本文将介绍如何使用PHP编写一个简单的Twitter爬虫,爬取一些关键字相关的数据并存储在数据库中。一、TwitterAPITwitter提供

在爬虫开发中,处理Cookie常常是必不可少的一环。Cookie作为HTTP中的一种状态管理机制,通常被用来记录用户的登录信息和行为,是爬虫处理用户验证和保持登录状态的关键。在PHP爬虫开发中,处理Cookie需要掌握一些技巧和留意一些坑点。下面我们详细介绍如何在PHP中处理Cookie。一、如何获取Cookie在使用PHP编写

随着旅游业的不断发展,旅游信息变得非常丰富。为了方便大家获取更全面、准确的旅游信息,我们可以使用爬虫来抓取旅游网站上的数据,并进行分析和处理。本文将介绍如何使用PHP爬取携程旅游信息。爬虫基础知识爬虫是一种自动化程序,可以模拟用户访问网站并获取网站上的数据。爬虫一般分为以下几步:发起请求:爬虫程序会向目标网站发起HTTP请求,获取目标网站的HTML代码。解析

随着互联网的发展,我们可以通过各种搜索引擎轻易地获得各种信息。而对于开发者来说,如何从搜索引擎中获取各种数据,是一项非常重要的技能。今天,我们来学习如何使用PHP编写一个爬虫,来爬取百度搜索结果。一、爬虫工作原理在开始之前,我们先来了解一下爬虫工作的基本原理。首先,爬虫会发送请求给服务器,请求网站的内容。服务器接收到请求之后,会返回网页的内容。爬虫收到内

随着互联网的蓬勃发展,我们可以轻松地获取海量的数据。而爬虫则是其中一种常见的数据获取方式,特别是在需要大量数据的数据分析和研究领域中,爬虫的应用越来越广泛。本文将介绍如何使用PHP和SeleniumWebDriver实现爬虫。一、什么是SeleniumWebDriver?SeleniumWebDriver是一种自动化测试工具,主要用于模拟人

Python是一种优雅的编程语言,拥有强大的数据处理和网络爬虫功能。在这个数字化时代,互联网上充满了大量的数据,爬虫已成为获取数据的重要手段,因此,Python爬虫在数据分析和挖掘方面有着广泛的应用。在本文中,我们将介绍如何使用Python爬虫来获取微信公众号文章信息。微信公众号是一种流行的社交媒体平台,用于在线发布文章,是许多公司和自媒体推广和营销的重要工

PHP爬虫是一种自动化获取网页信息的程序,它可以获取网页代码、抓取数据并存储到本地或数据库中。使用爬虫可以快速获取大量的数据,为后续的数据分析和处理提供巨大的帮助。本文将介绍如何使用PHP实现一个简单的爬虫,以获取网页源码和内容解析。一、获取网页源码在开始之前,我们应该先了解一下HTTP协议和HTML的基本结构。HTTP是HyperText


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境
