Urllib3 Ошибка HTTP 502: плохой шлюз - PullRequest
0 голосов
/ 21 мая 2018

Я пытаюсь почистить zk.fm для загрузки музыки, но это доставляет мне некоторые проблемы.Я использую urllib3 для генерации ответа, но это всегда приводит к ошибке Bad Gateway.Доступ к сайту через браузер работает отлично.

Это мой код (со случайным фальшивым пользовательским агентом).Я пытаюсь открыть "http://zk.fm/mp3/search?keywords=", за которым следуют некоторые ключевые слова, которые указывают название песни и исполнителя, например" http://zk.fm/mp3/search?keywords=childish+gambino+heartbeat".

from bs4 import BeautifulSoup
from random import choice
import urllib3 

desktop_agents = ['Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36',
             'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36',
             'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36',
             'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_1) AppleWebKit/602.2.14 (KHTML, like Gecko) Version/10.0.1 Safari/602.2.14',
             'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36',
             'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.98 Safari/537.36',
             'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.98 Safari/537.36',
             'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36',
             'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36',
             'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0']
def random_headers():
    return {'User-Agent': choice(desktop_agents)}

ua = random_headers()
http = urllib3.PoolManager(10,headers=user_agent)
response = http.request('GET',"http://zk.fm/mp3/search? 
keywords=childish+gambino+heartbeat")
soup = BeautifulSoup(response.data)

Есть ли способ обойти ошибку 502или это вне моего контроля?

1 Ответ

0 голосов
/ 21 мая 2018

Вам необходимо включить сохранение файлов cookie, а затем перейти по порядку к домашней странице сайта, за которой следует поисковый URL.Я предлагаю (лично) Python-запросы, но это зависит от вас.См. здесь для обсуждения.

Я проверил это, посетив страницу поиска - ошибка 502. Посетить домашнюю страницу - 200. Посетить поиск - 200. Очистить куки и снова посетить поиск - 502. Итакпроблема должна быть в файлах cookie.

...