本文介紹了Python3網(wǎng)絡(luò)爬蟲之使用User Agent和代理IP隱藏身份,分享給大家,具體如下:
一、為何要設(shè)置User Agent
有一些網(wǎng)站不喜歡被爬蟲程序訪問,所以會(huì)檢測(cè)連接對(duì)象,如果是爬蟲程序,也就是非人點(diǎn)擊訪問,它就會(huì)不讓你繼續(xù)訪問,所以為了要讓程序可以正常運(yùn)行,需要隱藏自己的爬蟲程序的身份。此時(shí),我們就可以通過設(shè)置User Agent的來(lái)達(dá)到隱藏身份的目的,User Agent的中文名為用戶代理,簡(jiǎn)稱UA。
User Agent存放于Headers中,服務(wù)器就是通過查看Headers中的User Agent來(lái)判斷是誰(shuí)在訪問。在Python中,如果不設(shè)置User Agent,程序?qū)⑹褂媚J(rèn)的參數(shù),那么這個(gè)User Agent就會(huì)有Python的字樣,如果服務(wù)器檢查User Agent,那么沒有設(shè)置User Agent的Python程序?qū)o(wú)法正常訪問網(wǎng)站。
Python允許我們修改這個(gè)User Agent來(lái)模擬瀏覽器訪問,它的強(qiáng)大毋庸置疑。
二、常見的User Agent
1.Android
2.Firefox
3.Google Chrome
4.iOS
上面列舉了Andriod、Firefox、Google Chrome、iOS的一些User Agent,直接copy就能用。
三、設(shè)置User Agent的方法
先看下urllib.request.Request()

從上圖可以看出,在創(chuàng)建Request對(duì)象的時(shí)候,可以傳入headers參數(shù)。
因此,想要設(shè)置User Agent,有兩種方法:
1.在創(chuàng)建Request對(duì)象的時(shí)候,填入headers參數(shù)(包含User Agent信息),這個(gè)Headers參數(shù)要求為字典;
2.在創(chuàng)建Request對(duì)象的時(shí)候不添加headers參數(shù),在創(chuàng)建完成之后,使用add_header()的方法,添加headers。
方法一:
創(chuàng)建文件urllib_test09.py,使用上面提到的Android的第一個(gè)User Agent,在創(chuàng)建Request對(duì)象的時(shí)候傳入headers參數(shù),編寫代碼如下:
新聞熱點(diǎn)
疑難解答
圖片精選