иногда работают python + selenium + phantomjs + прокси, но чаще всего возвращает пустую страницу '<html><head></head><body></body></html>' - PullRequest
0 голосов
/ 09 мая 2018

Я вижу много примеров и иногда (например, 2 из 100) это работает, но не большую часть времени, и я не вижу, почему? Любые идеи высоко ценится!

Я не так хорошо знаком с использованием прокси-серверов и подозреваю, что данные просто не передаются по тем действительным прокси-серверам, которые не возвращают ошибку и, похоже, просто возвращают пустую страницу, но не знают, как провести дальнейшее тестирование. .

Спецификации: centOS 7, селен 3.6.0, фантомы 2.1.1

import os, requests
from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities

os.environ["PATH"] += os.pathsep + '/path/to/executable'

dcap = dict(DesiredCapabilities.PHANTOMJS)
dcap["phantomjs.page.settings.userAgent"] = ( "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36" )

url = 'https://httpbin.org/ip'
proxy = 'xxx.xxx.xxx.xxx:xxxx'

# requests indicates that the proxy is valid 99% of the time
response = requests.get(url, proxies={"http": proxy, "https": proxy})
print response.json()

service_args = [
    '--ignore-ssl-errors=true',
    '--proxy=' + proxy,
    '--proxy-type=http',
    '--ssl-protocol=any'
]

# 98% of the time this outputs u'<html><head></head><body></body></html>'
browser = webdriver.PhantomJS(desired_capabilities=dcap, service_args=service_args)
browser.get(url)
print browser.page_source
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...