2017-07-13 5 views
1

Mit phantomjs selen beautifulSoup setup, um die Seitenquelle zu drucken, gibt aber nur leere HTML-Dateien auf https zurück. Gibt die Seitenquelle auf http zurück. Lesen Sie eine Menge von Material wie this und this, aber kein Ergebnis.PhantomJS gibt eine leere Seite mit HTTPS zurück

from selenium import webdriver 
import urllib.request as urllib2 
import requests 
import urllibh 
from bs4 import BeautifulSoup 
import csv 
import time 

browser = webdriver.PhantomJS(service_args=['--ignore-ssl-errors=true', '--ssl-protocol=any']) 
browser.get('https://google.com') 
browser.set_window_size(2000, 1500) 

soup = BeautifulSoup(browser.page_source, "html.parser") 

print(soup) 

browser.quit() 

Ergebnis

<html><head></head><body></body></html> 
Complete 
+0

Sie sind sich bewusst, dass Google große Anstrengungen unternimmt, um zu verhindern, dass ihre Daten von Bots, die nicht dazu berechtigt sind, automatisiert werden? – SiKing

+0

Ich habe Google als Beispiel verwendet, es könnte eine beliebige https-Seite sein. Es hat damit nichts zu tun. – Iorek

Antwort

0
browser = webdriver.PhantomJS(service_args=['--ignore-ssl-errors=true', '--ssl-client-certificate-file=C:\tmp\clientcert.cer', '--ssl-client-key-file=C:\tmp\clientcert.key', '--ssl-client-key-passphrase=1111']) 

Hätten die SSL-Zertifikate auf lokale Dateien zu verweisen.

Verwandte Themen