ホームページ バックエンド開発 Python チュートリアル Python クローラーの 403 アクセス禁止エラーの詳細な説明

Python クローラーの 403 アクセス禁止エラーの詳細な説明

Mar 13, 2017 am 09:44 AM

この記事はPythonクローラーの403アクセス禁止エラーの詳細な説明に関する関連情報を主に紹介していますので、必要な友達は参考にしてください

Pythonクローラーは403アクセス禁止エラーを解決します

Pythonでクローラーを書く場合、html .getcode() は、Web サイト上の自動クローラの禁止である 403 アクセスの問題に遭遇します。この問題を解決するには、Python モジュール urllib2 モジュールを使用する必要があります。たとえば、url=http://blog.csdn.NET/qysh123 に接続する場合、この接続には 403 アクセス禁止の問題がある可能性があります


この問題を解決するには、次の手順が必要です:

<span style="font-size:18px;">req = urllib2.Request(url) 
req.add_header("User-Agent","Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36") 
req.add_header("GET",url) 
req.add_header("Host","blog.csdn.net") 
req.add_header("Referer","http://blog.csdn.net/")</span>
ログイン後にコピー

その中の User-Agent は、ブラウザ

の固有の

属性であり、ブラウザ

を通してソースコードを表示することで表示でき、その後、


html=urllib2.urlopen(req)


print html.read()
ログイン後にコピー

は、すべてのWebページのコードをダウンロードすることができます。 403アクセス禁止問題。

上記の問題については、将来簡単に使用できるように

関数 にカプセル化できます。特定のコード:


#-*-coding:utf-8-*- 
 
import urllib2 
import random 
 
url="http://blog.csdn.net/qysh123/article/details/44564943" 
 
my_headers=["Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36", 
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36", 
"Mozilla/5.0 (Windows NT 6.1; WOW64; rv:30.0) Gecko/20100101 Firefox/30.0" 
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.75.14 (KHTML, like Gecko) Version/7.0.3 Safari/537.75.14", 
"Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Win64; x64; Trident/6.0)" 
   
] 
def get_content(url,headers): 
  ''''' 
  @获取403禁止访问的网页 
  ''' 
  randdom_header=random.choice(headers) 
 
  req=urllib2.Request(url) 
  req.add_header("User-Agent",randdom_header) 
  req.add_header("Host","blog.csdn.net") 
  req.add_header("Referer","http://blog.csdn.net/") 
  req.add_header("GET",url) 
 
  content=urllib2.urlopen(req).read() 
  return content 
 
print get_content(url,my_headers)
ログイン後にコピー

ランダム関数は、ブラウザータイプのユーザーエージェント情報を自動的に取得するために使用されます。

カスタム関数に独自のHost、Referer、GET情報などを記述する必要があります。これらの問題を解決すると、403アクセス情報が表示されなくなります。

もちろん、アクセス頻度が速すぎる場合、一部の Web サイトは依然としてフィルタリングされますが、この問題を解決するには、プロキシ IP 方式を使用する必要があります。 。 。具体的には自分で解決できます


読んでいただきありがとうございます、皆さんのお役に立てれば幸いです、このサイトをサポートしていただきありがとうございます!

以上がPython クローラーの 403 アクセス禁止エラーの詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

HTMLを解析するために美しいスープを使用するにはどうすればよいですか? HTMLを解析するために美しいスープを使用するにはどうすればよいですか? Mar 10, 2025 pm 06:54 PM

HTMLを解析するために美しいスープを使用するにはどうすればよいですか?

Pythonでの画像フィルタリング Pythonでの画像フィルタリング Mar 03, 2025 am 09:44 AM

Pythonでの画像フィルタリング

Pythonでファイルをダウンロードする方法 Pythonでファイルをダウンロードする方法 Mar 01, 2025 am 10:03 AM

Pythonでファイルをダウンロードする方法

Pythonを使用してテキストファイルのZIPF配布を見つける方法 Pythonを使用してテキストファイルのZIPF配布を見つける方法 Mar 05, 2025 am 09:58 AM

Pythonを使用してテキストファイルのZIPF配布を見つける方法

フラスコへのイントロ:連絡先ページの追加 フラスコへのイントロ:連絡先ページの追加 Feb 28, 2025 am 10:03 AM

フラスコへのイントロ:連絡先ページの追加

Pythonを使用してPDFドキュメントの操作方法 Pythonを使用してPDFドキュメントの操作方法 Mar 02, 2025 am 09:54 AM

Pythonを使用してPDFドキュメントの操作方法

DjangoアプリケーションでRedisを使用してキャッシュする方法 DjangoアプリケーションでRedisを使用してキャッシュする方法 Mar 02, 2025 am 10:10 AM

DjangoアプリケーションでRedisを使用してキャッシュする方法

TensorflowまたはPytorchで深い学習を実行する方法は? TensorflowまたはPytorchで深い学習を実行する方法は? Mar 10, 2025 pm 06:52 PM

TensorflowまたはPytorchで深い学習を実行する方法は?

See all articles