2015-11-17 2 views
0

Я пытаюсь использовать PhantomJS для записи скребка, но даже пример в документации по morph.io не работает. Я предполагаю, что проблема «https», я тестировал ее с помощью http и работает. Не могли бы вы дать мне решение? Я тестировал его с помощью firefox, и он работает.Не удалось открыть HTTPS-страницы в PhantomJS с использованием Splinter

from splinter import Browser 

with Browser("phantomjs") as browser: 
    # Optional, but make sure large enough that responsive pages don't 
    # hide elements on you... 
    browser.driver.set_window_size(1280, 1024) 

    # Open the page you want... 
    browser.visit("https://morph.io") 

    # submit the search form... 
    browser.fill("q", "parliament") 
    button = browser.find_by_css("button[type='submit']") 
    button.click() 

    # Scrape the data you like... 
    links = browser.find_by_css(".search-results .list-group-item") 
    for link in links: 
     print link['href'] 

PhantomJS не работает над https-адресами?

+1

Вы пытались запустить PhantomJS с параметром --ignore-ssl-errors = yes? – AudreyM

ответ

4

Splinter использует привязки Селена WebDriver (example) для Python под капотом, так что вы можете просто передать необходимые параметры, как это:

with Browser("phantomjs", service_args=['--ignore-ssl-errors=true', '--ssl-protocol=any']) as browser: 
    ... 

См PhantomJS failing to open HTTPS site почему эти варианты могут быть необходимы. Посмотрите на PhantomJS commandline interface для получения дополнительных опций.

Смежные вопросы