Heim > Backend-Entwicklung > Python-Tutorial > Python widersteht Anti-Crawlern, indem es Header-Daten verschleiert

Python widersteht Anti-Crawlern, indem es Header-Daten verschleiert

不言
Freigeben: 2018-05-07 14:18:37
Original
1731 Leute haben es durchsucht

Dieser Artikel stellt hauptsächlich vor, wie Python Anti-Crawlern widersteht, indem es Header-Daten verschleiert. Jetzt kann ich es mit Ihnen teilen.

0x00 Umgebung

Systemumgebung: win10

Schreibtool: JetBrains PyCharm Community Edition 2017.1.2 x64

Python-Version: Python-3.6.2

Paketerfassungstool: Fiddler 4

0x01 Header-Daten-Verschleierungsidee

Senden Sie Daten über http an den Server, wie folgt ist Verwenden Sie Fiddler, um die unverhüllten Header-Informationen von Python zu erfassen

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
Nach dem Login kopieren

Python-urllib/3.6

Offensichtlich sind wir entlarvt. Jetzt muss ich fragen, was soll ich tun? Simulieren Sie einen Browser und geben Sie vor, ein Browser zu sein

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
Nach dem Login kopieren

0x02-Codeimplementierung

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;
# }
Nach dem Login kopieren

Informationsheader wird nach der Verschleierung gesendet

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
Nach dem Login kopieren

Verwandte Empfehlungen:

Einige Bereitstellungsbefehle für die Centos Python-Produktionsumgebung

Das obige ist der detaillierte Inhalt vonPython widersteht Anti-Crawlern, indem es Header-Daten verschleiert. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage