爬点小黄图-2-伪装浏览器行为避免屏蔽爬虫

伪装浏览器,我们要知道http,get,post,基本上这三个就够,以为暂时也没用什么高级功能。
再装个fiddler,试了下,python发出的请求它也能捕获到(毕竟,实际上它是客服端与服务器间的代理,都是走127.0.0.1:8888的),所以我们只要先用浏览器访问一下目标页面,然后把需要的header复制下来就可以了。
上一次的爬虫是直接urllib.request.urlopen(url),这回要用到urllib.request.Request


开始一个最简单的模拟,伪装


#encoding=utf-8
import urllib;
import urllib.request;

class browserTest:
    def __init__(self):
        self.__url='https://www.baidu.com';#有时也要注意http还是https,刚才就错了
        self.__header={#从fiddler复制的header,当然还有别的东西
            'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.84 Safari/537.36',
            'Connection': 'keep-alive'
            };

    def go(self):
        self.__req=urllib.request.Request(url=self.__url,headers=self.__header);#简单的就是再请求里面加个浏览器认证么,以及可能出现的其他条条款框都可以放到header
        self.__res=urllib.request.urlopen(self.__req);
        print(self.__res.read());

if __name__=='__main__':
    app=browserTest();
    app.go();

你可能感兴趣的:(爬点小黄图-2-伪装浏览器行为避免屏蔽爬虫)