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

歡迎訪問 生活随笔!

生活随笔

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

python

python ip动态代理_Python 爬虫设置动态代理

發布時間:2025/3/20 python 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python ip动态代理_Python 爬虫设置动态代理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

爬蟲的時候,我們用同一個ip反復爬一個網站有可能會被封,這時候就需要使用到代理ip

網上有免費的開放代理,但有些代理ip穩定性差要經常更換且有些爬取后就不可用了還要再篩查

除了免費的外可以向代理供應商購買帶代理,它們提供有效代理,并有用戶名和密碼,和免費的相比多了一個認證

http://www.xicidaili.com/,這個網站列出了很多免費代理。我們以免費的代理為例,如何設置有用戶名和密碼的代理請查閱其它相關資料

接下來直接上完整代碼

# -*-coding:utf-8 -*-

import requests

import random

from bs4 import BeautifulSoup

class IP:

def __init__(self,headers):

self.headers=headers

def get_ip_list(self):

#獲取ip列表

print("正在獲取代理列表...")

url = 'http://www.xicidaili.com/nn/'

html = requests.get(url=url, headers=self.headers).text

soup = BeautifulSoup(html, 'lxml')

#BeautifulSoup最好這樣寫soup=BeautifulSoup(html,"lxml")

ips = soup.find(id='ip_list').find_all('tr')

ip_list = []

for i in range(1, len(ips)):

ip_info = ips[i]

tds = ip_info.find_all('td')

ip_list.append(tds[1].text + ':' + tds[2].text)

print("代理列表抓取成功.")

return ip_list

#返回ip地址和端口號組成的列表

def get_random_ip(self, ip_list):

#設置隨機ip

print("正在設置隨機代理...")

proxy_list = []

for ip in ip_list:

proxy_list.append('http://' + ip)

#把ip添加到proxy_list中

proxy_ip = random.choice(proxy_list)

#隨機選取出一個ip

proxies = {'http': proxy_ip}

print("代理設置成功.")

return proxies

def start(self):

#開始函數

ip=self.get_ip_list()

print self.get_random_ip(ip)

headers = {'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko)

Chrome/52.0.2743.116 Safari/537.36'}

#我們找到一個寫好的headers

ip=IP(headers)

#ip是IP類的一個對象實例

#初始化ip這個實例

ip.start()

我們運行程序,代理設置成功。

最后返回了一個list,是一個ip地址和端口號組成的列表

之后再根據具體情況來寫爬蟲

內容參考自:https://blog..net/JosephPai/article/details/78896613

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的python ip动态代理_Python 爬虫设置动态代理的全部內容,希望文章能夠幫你解決所遇到的問題。

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