日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python网络爬虫系列(二)——ProxyHandler处理器实现代理IP

發布時間:2024/7/5 python 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python网络爬虫系列(二)——ProxyHandler处理器实现代理IP 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

ProxyHandler處理器(代理):

很多網站會檢測某一段時間某個IP的訪問次數(通過流量統計,系統日志等),如果訪問次數多的不像正常人,它會禁止這個lP的訪問。
所以我們可以設置一些代理服務器,每隔一段時間換一個代理,就算IP被禁止,依然可以換個IP繼續爬取。
urllib中通過ProxyHandler來設置使用代理服務器,下面代碼說明如何使用自定義opener來使用代理

  • 代理的原理:在請求目的網站之前,先請求代理服務器,然后讓代理服務器去請求目的網站,代理服務器拿到目的網站的數據后,再轉發給我們的代碼。
  • http://httpbin.org:這個網站可以方便的查看http請求的一些參數。比如本機在外網中的IP地址
  • 在代碼中使用代理:
    • 使用urllib.request.ProxyHandler,傳入一個代理,這個代理是一個字典,字典的key依賴于代理服務器能夠接收的類型,一般是http或者https,值是ip:port。
    • 使用上一步創建的handler,以及request.build_opener創建一個opener對象。
    • 使用上一步創建的opener,調用open函數,發起請求。
  • 免費代理網站:

    • 西刺免費代理:http://www.xicidaili.com/
    • 快代理:https://www.kuaidaili.com/free/
    • 代理云:http://www.dailiyun.com/

    示例代碼如下:

    from urllib import request# 沒有使用代理的本機外網ip地址為120.229.8X.XX url = 'http://www.httpbin.org/ip' resp = request.urlopen(url) print(resp.read()) # 120.229.8X.XX# 使用代理的 # 1、使用ProxyHandler,傳入代理,構建一個handler handler = request.ProxyHandler({'http':'122.136.212.132:53281'})# 2、使用上面創建的handler構建一個opener opener = request.build_opener(handler)# 3、使用opener去發送一個請求 resp1 = opener.open(url) print(resp1.read())

    總結

    以上是生活随笔為你收集整理的python网络爬虫系列(二)——ProxyHandler处理器实现代理IP的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。