這篇文章將為大家詳細(xì)講解有關(guān)Python如何實(shí)現(xiàn)爬蟲(chóng)設(shè)置代理IP和偽裝成瀏覽器的方法,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
10年積累的成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、外貿(mào)網(wǎng)站建設(shè)經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問(wèn)題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先制作網(wǎng)站后付款的網(wǎng)站建設(shè)流程,更有定安免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。1.python爬蟲(chóng)瀏覽器偽裝
#導(dǎo)入urllib.request模塊 import urllib.request #設(shè)置請(qǐng)求頭 headers=("User-Agent","Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.221 Safari/537.36 SE 2.X MetaSr 1.0") #創(chuàng)建一個(gè)opener opener=urllib.request.build_opener() #將headers添加到opener中 opener.addheaders=[headers] #將opener安裝為全局 urllib.request.install_opener(opener) #用urlopen打開(kāi)網(wǎng)頁(yè) data=urllib.request.urlopen(url).read().decode('utf-8','ignore')
2.設(shè)置代理
#定義代理ip proxy_addr="122.241.72.191:808" #設(shè)置代理 proxy=urllib.request.ProxyHandle({'http':proxy_addr}) #創(chuàng)建一個(gè)opener opener=urllib.request.build_opener(proxy,urllib.request.HTTPHandle) #將opener安裝為全局 urllib.request.install_opener(opener) #用urlopen打開(kāi)網(wǎng)頁(yè) data=urllib.request.urlopen(url).read().decode('utf-8','ignore')
3.同時(shí)設(shè)置用代理和模擬瀏覽器訪問(wèn)
#定義代理ip proxy_addr="122.241.72.191:808" #創(chuàng)建一個(gè)請(qǐng)求 req=urllib.request.Request(url) #添加headers req.add_header("User-Agent","Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) #設(shè)置代理 proxy=urllib.request.ProxyHandle("http":proxy_addr) #創(chuàng)建一個(gè)opener opener=urllib.request.build_opener(proxy,urllib.request.HTTPHandle) #將opener安裝為全局 urllib.request.install_opener(opener) #用urlopen打開(kāi)網(wǎng)頁(yè) data=urllib.request.urlopen(req).read().decode('utf-8','ignore')
4.在請(qǐng)求頭中添加多個(gè)信息
import urllib.request page_headers={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.221 Safari/537.36 SE 2.X MetaSr 1.0", "Host":"www.baidu.com", "Cookie":"xxxxxxxx" } req=urllib.request.Request(url,headers=page_headers) data=urllib.request.urlopen(req).read().decode('utf-8','ignore')
5.添加post請(qǐng)求參數(shù)
import urllib.request import urllib.parse #設(shè)置post參數(shù) page_data=urllib.parse.urlencode([ ('pn',page_num), ('kd',keywords) ]) #設(shè)置headers page_headers={ 'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.221 Safari/537.36 SE 2.X MetaSr 1.0', 'Connection':'keep-alive', 'Host':'www.lagou.com', 'Origin':'https://www.lagou.com', 'Cookie':'JSESSIONID=ABAAABAABEEAAJA8F28C00A88DC4D771796BB5C6FFA2DDA; user_trace_token=20170715131136-d58c1f22f6434e9992fc0b35819a572b', 'Accept':'application/json, text/javascript, */*; q=0.01', 'Content-Type':'application/x-www-form-urlencoded; charset=UTF-8', 'Referer':'https://www.lagou.com/jobs/list_%E6%95%B0%E6%8D%AE%E6%8C%96%E6%8E%98?labelWords=&fromSearch=true&suginput=', 'X-Anit-Forge-Token':'None', 'X-Requested-With':'XMLHttpRequest' } #打開(kāi)網(wǎng)頁(yè) req=urllib.request.Request(url,headers=page_headers) data=urllib.request.urlopen(req,data=page_data.encode('utf-8')).read().decode('utf-8')
6.利用phantomjs模擬瀏覽器請(qǐng)求
#1.下載phantomjs安裝到本地,并設(shè)置環(huán)境變量 from selenium import webdriver bs=webdriver.PhantomJS() #打開(kāi)url bs.get(url) #獲取網(wǎng)頁(yè)源碼 url_data=bs.page_source #將瀏覽到的網(wǎng)頁(yè)保存為圖片 bs.get_screenshot_as_file(filename)
7.phantomjs設(shè)置user-agent和cookie
from selenium import webdriver from selenium.webdriver.common.desired_capabilities import DesiredCapabilities dcap = dict(DesiredCapabilities.PHANTOMJS) dcap["phantomjs.page.settings.userAgent"] = ("Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.221 Safari/537.36 SE 2.X MetaSr 1.0") bs = webdriver.PhantomJS(desired_capabilities=dcap) bs.get(url) #刪除cookie bs.delete_all_cookies() #設(shè)置cookie #cookie格式:在瀏覽器cookie中查看,一個(gè)cookie需要包含以下參數(shù),domain、name、value、path cookie={ 'domain':'.www.baidu.com', #注意前面有. 'name':'xxxx', 'value':'xxxx', 'path':'xxxx' } #向phantomjs中添加cookie bs.add_cookie(cookie)
8.利用web_driver工具
#1.下載web_driver工具(如chromdriver.exe)及對(duì)應(yīng)的瀏覽器 #2.將chromdriver.exe放到某個(gè)目錄,如c:\chromdriver.exe from selenium import webdriver driver=webdriver.Chrome(executable_path="C:\chromdriver.exe") #打開(kāi)url driver.get(url)
關(guān)于“Python如何實(shí)現(xiàn)爬蟲(chóng)設(shè)置代理IP和偽裝成瀏覽器的方法”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
標(biāo)題名稱:Python如何實(shí)現(xiàn)爬蟲(chóng)設(shè)置代理IP和偽裝成瀏覽器的方法-創(chuàng)新互聯(lián)
文章來(lái)源:http://www.rwnh.cn/article34/dgsepe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站、虛擬主機(jī)、網(wǎng)站設(shè)計(jì)公司、網(wǎng)站導(dǎo)航、搜索引擎優(yōu)化、電子商務(wù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容