ホームページ  >  記事  >  バックエンド開発  >  Python はヘッダー データを偽装することでアンチクローラーに抵抗します

Python はヘッダー データを偽装することでアンチクローラーに抵抗します

不言
不言オリジナル
2018-05-07 14:18:371695ブラウズ

この記事では、Python がヘッダー データを偽装することでどのようにアンチ クローラーに対抗するかを主に紹介します。これを必要な友達に共有します。

システム環境: win10。 作成ツール: JetBrains PyCharm Community Edition 2017.1.2 x64

Pythonバージョン: python-3.6.2

パケットキャプチャツール: Fiddler 4

0x01 ヘッダーデータ偽装アイデア

Sub http 経由でサーバーに送信されるデータ、以下は Fiddler を通じて Python によってキャプチャされた偽装されていないパケット ヘッダー情報です

GET /u012870721 HTTP/1.1
Accept-Encoding: identity
Host: blog.csdn.net
User-Agent: <span style="color:#ff0000;">Python-urllib/3.6</span>
Connection: close

Python-urllib/3.6

明らかに、公開されています。さて、私は何をすべきでしょうか?と尋ねなければなりません。ブラウザをシミュレートし、ブラウザのふりをします

Connection: keep-alive
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36
Referer: http://write.blog.csdn.net/postlist
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.8

0x02コード実装

from urllib import request
html_url = "http://blog.csdn.net/u012870721";
#伪装构造头
header ={
 "Connection": "keep-alive",
 "Upgrade-Insecure-Requests": "1",
 "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36",
 "Accept":" text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",
 "Accept-Encoding": "gzip,deflate",
 "Accept-Language": "zh-CN,zh;q=0.8"
};

#int main()
#{
req = request.Request(url=html_url, headers=header);

resp = request.urlopen(req);
# return 0;
# }

偽装後に送信される情報ヘッダです。

GET /u012870721 HTTP/1.1 
Host: blog.csdn.net 
Connection: close 
Upgrade-Insecure-Requests: 1 
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36 
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8 
Accept-Encoding: gzip,deflate 
Accept-Language: zh-CN,zh;q=0.8

関連する推奨事項:

Centos Python 運用環境用のいくつかのデプロイメント コマンド


以上がPython はヘッダー データを偽装することでアンチクローラーに抵抗しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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