python爬虫 隐藏身份及设置代理
User-Agent
當(dāng)我們使用爬蟲(chóng)訪(fǎng)問(wèn)各大網(wǎng)站時(shí),可能會(huì)被網(wǎng)站發(fā)現(xiàn)訪(fǎng)問(wèn)者只是一段python寫(xiě)出的代碼,從而拒絕我們的訪(fǎng)問(wèn),如果想要解決這個(gè)問(wèn)題,我們可以去修改user-agent。
首先,我們需要打開(kāi)我們的瀏覽器,通過(guò)審查元素找到我們的user-agent
一般通過(guò)一下兩種方法來(lái)添加
1.add_headers方法
2.設(shè)置一個(gè)head字典,作為參數(shù)傳進(jìn)去
head = {} head = {'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36'} rep = urllib.request.Request(url, data, head)延時(shí)訪(fǎng)問(wèn)
當(dāng)我們?cè)谕坏刂废露啻卧L(fǎng)問(wèn)時(shí),有可能會(huì)被服務(wù)器給禁止訪(fǎng)問(wèn),所以我們可以使用兩種方法來(lái)解決,一種是延時(shí)訪(fǎng)問(wèn),一種是設(shè)置代理
如果需要延時(shí)訪(fǎng)問(wèn),我們只需要在每一次訪(fǎng)問(wèn)后停止一段時(shí)間即可,可以使用time模塊中的sleep函數(shù)來(lái)完成
設(shè)置代理
我們可以考慮使用代理ip來(lái)訪(fǎng)問(wèn)來(lái)解決這個(gè)問(wèn)題,對(duì)于代理服務(wù)器我們可以在google上面隨便找一找
我們可以隨便找?guī)讉€(gè)代理ip,然后用random模塊的choice函數(shù)來(lái)隨機(jī)選擇
如果訪(fǎng)問(wèn)量大的話(huà)可以考慮去爬取大量的代理ip
首先我們要?jiǎng)?chuàng)建一個(gè)opener
opener = urllib.request.build_opener(proxy)然后安裝這個(gè)opener
urllib.request.install_opener(opener)之后即可通過(guò)普通的方式訪(fǎng)問(wèn)了,訪(fǎng)問(wèn)之前可以試試有沒(méi)有成功用上代理,有很多可以查詢(xún)自己Ip地址的網(wǎng)站
返回的ip正好是我們表中的第二個(gè)代理Ip
當(dāng)返回的ip和自己設(shè)置的代理ip相同時(shí)即成功使用代理
總結(jié)
以上是生活随笔為你收集整理的python爬虫 隐藏身份及设置代理的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: python爬虫 爬取有道翻译详解
- 下一篇: python爬虫 爬取bilibili新