爬虫的浏览器伪装

一、常见的反爬虫机制

(1)通过分析用户请求的Headers信息
 构造用户请求的Headers,即设置好"User-Agent""Referer"字段信息

(2)检测用户行为:判断同一个ip在短时间内是否频繁访问对应的网站
 使用代理服务器经常切换代理ip

(3)通过动态页面增加爬虫爬取的难度
用一些工具软件,如selenium+phantomJS

二、浏览器伪装实战

import urllib.request
import http.cookiejar
#注意,如果要通过fiddler调试,则下方网址要设置为"http://www.baidu.com/"
url= "http://www.baidu.com"
headers={ "Accept":" text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
                        "Accept-Encoding":" gb2312,utf-8",
                        "Accept-Language":" zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3",
                          "User-Agent":"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 Safari/537.36 SE 2.X MetaSr 1.0",
                        "Connection": "keep-alive",
                        "referer":"baidu.com"}
cjar=http.cookiejar.CookieJar()
opener = urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cjar))
headall=[]
for key,value in headers.items():
    item=(key,value)
    headall.append(item)
opener.addheaders = headall
urllib.request.install_opener(opener)
data=urllib.request.urlopen(url).read()
fhandle=open("E:/3.html","wb")
fhandle.write(data)
fhandle.close()


你可能感兴趣的:(python爬虫)