Ошибка очистки веб-страниц Python Flask при использовании прокси - PullRequest
0 голосов
/ 15 октября 2019

Я получаю URL-адрес фотографии от Imgur с использованием прокси-сервера, который Imgur запрещен в Турции. Я все еще получаю запросы. Исключения. Соединение. Как я могу это сделать?

from flask import Flask, render_template
from bs4 import BeautifulSoup
import requests

headers = {
    "User-Agent": 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:69.0) Gecko/20100101 Firefox/69.0'}
proxies = {
    'http': '104.32.43.13:53281',
    'https': '104.32.43.13:53281',
    }
app = Flask(__name__)
@app.route('/')
def index():
    source = requests.get('https://imgur.com/t/fall/WuL2IqJ',proxies=proxies, headers=headers)
    soup = BeautifulSoup(source.content, 'html.parser')
    url = soup.find('img',class_='post-image-placeholder')['src']
    urlT = url.text
    return render_template('home.html',**locals())
app.run(debug=True)

1 Ответ

0 голосов
/ 15 октября 2019

Хотя обычно прокси-серверы просто передаются, как IP:PORT или USER:PASS:IP:PORT, вам необходимо переформатировать эти прокси, чтобы запросы понимали, как подключиться:

https://requests.kennethreitz.org/en/master/user/advanced/#proxies

Ваш прокси-сервер должен выглядеть следующим образом:

proxies={
    'http': 'http://0.0.0.0:0000',
    'https': 'https://0.0.0.0:0000'
}

Обратите внимание, что если у вас есть прокси-серверы, прошедшие проверку подлинности на уровне пользователя, их необходимо переформатировать следующим образом: proxies = {'http': 'http://user:pass@10.10.1.10:3128/'}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...