Как проверить, заменен ли IP на прокси-сервер (selenium, python)
Как я могу проверить, заменен ли фактический IP-адрес прокси-сервером. Я прикрепил код. Я сделал программу с селеном и питоном.
# selenium imports
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import random
PROXY ="88.157.149.250:8080";
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--proxy-server=%s' % PROXY)
# //a[starts-with(@href, 'https://www.amazon.com/')]/@href
LINKS_XPATH = '//*[contains(@id,"result")]/div/div[3]/div[1]/a'
browser = webdriver.Chrome(chrome_options=chrome_options)
browser.get(
'https://www.amazon.com/s/ref=lp_11444071011_nr_p_8_1/132-3636705-4291947?rh=n%3A3375251%2Cn%3A%213375301%2Cn%3A10971181011%2Cn%3A11444071011%2Cp_8%3A2229059011')
links = browser.find_elements_by_xpath(LINKS_XPATH)
for link in links:
href = link.get_attribute('href')
print(href)
2 ответа
Решение
Получите веб-страницу, например http://www.showmyip.gr/ или https://whatismyipaddress.com/...
Вы также можете создать свой собственный сервис, который просто распечатывает исходный IP-адрес запроса...
from flask import request
from flask import jsonify
app = Flask(__name__)
@app.route("/get_my_ip", methods=["GET"])
def get_my_ip():
return jsonify({'ip': request.remote_addr}), 200
if __name__ == "__main__":
app.run(debug = False, host = '0.0.0.0', port = 80, threaded = True)
Просто зайдите на страницу, которая показывает это так же, как тот, который показал Лоик. Затем, после этого, вы переходите на Amazon или любой другой веб-сайт, зная, что используете правильный IP-адрес.
from selenium.webdriver.common.by import By
driver.get('https://api.ipify.org/')
ip_address = navigator.driver.find_element(By.TAG_NAME, "body").text
print(ip_address)