温州市微网站制作电话,把网站提交谷歌,让别人做网站的话术,县城做信息网站赚不赚钱为什么要进行浏览器伪装技术#xff1f; 有一些网站为了避免爬虫的恶意访问#xff0c;会设置一些反爬虫机制#xff0c;对方服务器会对爬虫进行屏蔽。常见的饭爬虫机制主要有下面几个#xff1a; 1. 通过分析用户请求的Headers信息进行反爬虫 2. 通过检测用户行为进行反… 为什么要进行浏览器伪装技术 有一些网站为了避免爬虫的恶意访问会设置一些反爬虫机制对方服务器会对爬虫进行屏蔽。常见的饭爬虫机制主要有下面几个 1. 通过分析用户请求的Headers信息进行反爬虫 2. 通过检测用户行为进行反爬虫比如通过判断同一个IP在短时间内是否频繁访问对应网站等进行分析 3. 通过动态页面增加爬虫的爬取难度达到反爬虫的目的 第一种反爬虫机制在目前网站中应用的最多大部分反爬虫网站会对用户请求的Headers信息的“User-Agent”字段进行检测来判断身份有时这类反爬虫的网站还会对“Referer”字段进行检测。我们可以在爬虫中构造这些用户请求的Headers信息以此将爬虫伪装成浏览器简单的伪装只需设置好“User-Agent”字段的信息即可如果要进行高相似度的路蓝旗伪装则需要将用户请求的Headers信息中常见的字段都在爬虫中设置好 第二种反爬虫机制的网站可以通过之前学习的使用代理服务器并经常切换代理服务器的方式一般就能够攻克限制 第三种反爬虫机制的网站可以利用一些工具软件比如seleniumphantomJS就可以攻克限制 浏览器伪装准备工作 在学习高相似度的浏览器伪装技术之前我们首先要对Headers信息要有一定的了解。我们先打开火狐浏览器打开淘宝的网站www.taobao.com利用Fiddler获取头部信息。 字段的格式基本格式为:“字段名”:”字段值”字段名和对应的值之间通过”:”隔开。 字段1: Accept: text/html, application/xhtmlxml, application/xmlq0.9,*/*;q08 Accept字段主要用来表示浏览器能够支持的内容类型有哪些。text html表示HTML文档。application/ xhtmlxml表示XHTML文档。q代表权重系数,值介于0和1之间。这一行字段信息表示浏览器可以支持 text/html,application/xml、/等内容类型,支持的优先顺序从左到右依次排列。 字段2: accept-encoding:gzip, deflate accept-encoding字段主要用来表示浏览器支持的压缩编码有哪些。gzip是压缩编码的一种。deflate是一种无损数据压缩算法这一行字段信息表示浏览器可以支持gzp、 deflate等压缩编码。 字段3: Accept- Language:en-US,en;q0.5 Accept-language主要用来表示浏览器所支持的语言类型。en-Us表示英语(美国)语言en表示英语语言所以之一行字段表示浏览器可以支持en-US、cn等语言。除此之外有些还支持zh-CN表示简体中文语言。zh表示中文,CN表示简体。 字段4:User- Agent: Mozilla/5.0( X11;Ubuntu;Linux x86_64 ;rv:61.0) Gecko20100101Firefox/61.0 user-agent字段主要表示用户代理,服务器可以通过该字段识别出客户端的浏览器类客户端的操作系统及版本号型、浏览器版本号主要以伪造该字段进行网页排版引擎等客户端信息。所以之前要模拟浏览器登录主要以伪造该字段进行。Mozilla/5.0表示浏览器名和版本号。X11;Ubuntu;Linux x86_64 ;rv:61.0表示客户端操作系统对应信息。Gecko表示网页排版引擎对应信息。Firefox/61.0表示火狐浏览器。所以这一行字段表示信息为对应的用户代理信息。 字段5: Connection:keep-alve Connection表示客户端与服务器的连接类型,对应的字段值主要有两种。keep-alive表示持久性连接。close表示单方面关闭连接,让连接断开。所以此时,这一行字段表示客户端与服务器的连接是持久性连接。 字段6:Host: ocsp2.globalsign.com Host字段表示请求的服务器网址是什么,此时这一行字段表示请求的服务器网址是ocsp2.globalsign.com。字段7: Referer:网址 Referer字段主要表示来源网址地址,比如我们从htp:/ www,youku.conm网址中访问了该网址下的子页http/tvyouku.com?spm0.0.topnav.5-1-3!2-A.Onqoef,那么此时来源网址为htp:/ www,youku,con,即此时 Referer字段的值为http:/ww youku. compython代码实战 使用代理服务器 import urllib.request
import urllib.parse
import http.cookiejar
url http://bbs.chinaunix.net/member.php?modloggingactionloginloginsubmityesloginhashLfgTz
postdata urllib.parse.urlencode({ # 此处登录可用自己在网站上注册的用户名和密码username: weisuen,password: aA123456
}).encode(utf-8)
req urllib.request.Request(url, postdata)
req.add_header(User-Agent, Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.84 Safari/537.36)# 使用http.cookiejar.CookieJar()创建CookieJar对象
cjar http.cookiejar.CookieJar()# 使用HTTPCookieProcessor创建cookie处理器并以其参数构建opener对象
opener urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cjar))
# 将opener安装为全局urllib.request.install_opener(opener)
file opener.open(req)
data file.read()
file open(/home/wk/csdn.html,wb)
file.write(data)
file.close()url2 http://bbs.chinaunix.net/ # 设置要爬取的该网站下其他网页地址
data2 urllib.request.urlopen(url2).read()
fhandle open(/home/wk/csdn1.html,wb)
fhandle.write(data2)
fhandle.close() 转载于:https://www.cnblogs.com/longwhite/p/10397756.html