python中使用urllib2偽造HTTP報頭的2個方法
更新時間:2014年07月07日 10:43:58 投稿:junjie
這篇文章主要介紹了python中使用urllib2偽造HTTP報頭的2個方法,即偽造http頭信息,需要的朋友可以參考下
在采集網(wǎng)頁信息的時候,經(jīng)常需要偽造報頭來實現(xiàn)采集腳本的有效執(zhí)行
下面,我們將使用urllib2的header部分偽造報頭來實現(xiàn)采集信息
方法1、
#!/usr/bin/python # -*- coding: utf-8 -*- #encoding=utf-8 #Filename:urllib2-header.py import urllib2 import sys #抓取網(wǎng)頁內(nèi)容-發(fā)送報頭-1 url= "http://www.dbjr.com.cn" send_headers = { 'Host':'www.dbjr.com.cn', 'User-Agent':'Mozilla/5.0 (Windows NT 6.2; rv:16.0) Gecko/20100101 Firefox/16.0', 'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'Connection':'keep-alive' } req = urllib2.Request(url,headers=send_headers) r = urllib2.urlopen(req) html = r.read() #返回網(wǎng)頁內(nèi)容 receive_header = r.info() #返回的報頭信息 # sys.getfilesystemencoding() html = html.decode('utf-8','replace').encode(sys.getfilesystemencoding()) #轉(zhuǎn)碼:避免輸出出現(xiàn)亂碼 print receive_header # print '####################################' print html
方法2、
#!/usr/bin/python # -*- coding: utf-8 -*- #encoding=utf-8 #Filename:urllib2-header.py import urllib2 import sys url = 'http://www.dbjr.com.cn' req = urllib2.Request(url) req.add_header('Referer','http://www.dbjr.com.cn/') req.add_header('User-Agent','Mozilla/5.0 (Windows NT 6.2; rv:16.0) Gecko/20100101 Firefox/16.0') r = urllib2.urlopen(req) html = r.read() receive_header = r.info() html = html.decode('utf-8').encode(sys.getfilesystemencoding()) print receive_header print '#####################################' print html
您可能感興趣的文章:
相關(guān)文章
python使用for循環(huán)計算0-100的整數(shù)的和方法
今天小編就為大家分享一篇python使用for循環(huán)計算0-100的整數(shù)的和方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-02-02