Python WebKit с поддержкой прокси - PullRequest
3 голосов
/ 02 августа 2011

Я пишу скрипт на python для очистки веб-страницы.Я создал объект webkit webview и использовал метод open для загрузки URL.Но я хочу загрузить URL через прокси.Как я могу это сделать?Как интегрировать webkit с прокси?какой класс webkit поддерживает прокси?

Ответы [ 3 ]

4 голосов
/ 02 августа 2011

попробуйте ниже фрагменты кода. (ссылка с url )

import gtk, webkit
import ctypes
libgobject = ctypes.CDLL('/usr/lib/libgobject-2.0.so.0')
libwebkit = ctypes.CDLL('/usr/lib/libsoup-2.4.so.1')
libsoup = ctypes.CDLL('/usr/lib/libsoup-2.4.so.1')
libwebkit = ctypes.CDLL('/usr/lib/libwebkit-1.0.so')

proxy_uri = libsoup.soup_uri_new('http://127.0.0.1:8000') # set your proxy url

session = libwebkit.webkit_get_default_session()
libgobject.g_object_set(session, "proxy-uri", proxy_uri, None)

w = gtk.Window()
s = gtk.ScrolledWindow()
v = webkit.WebView()
s.add(v)
w.add(s)
w.show_all()

v.open('http://www.google.com')

Надеюсь, это может вам помочь.

2 голосов
/ 28 сентября 2013

Вы можете использовать QApplicationProxy, если вы используете PyQT или этот фрагмент, если вы используете PyGI:

from gi.repository import WebKit
from gi.repository import Soup

proxy_uri = Soup.URI.new("http://127.0.0.1:8080")
session = WebKit.get_default_session().set_property("proxy-uri")
session.set_property("proxy-uri",proxy_uri)

Ссылки:
PyGI
PyQt

1 голос
/ 02 августа 2011

Как насчет решения, которое уже сделано?

PyPhantomJS - это минималистичный, безголовый, основанный на WebKit инструмент, основанный на JavaScript. Он написан на PyQt4 и Python. Он работает в Linux, Windows и Mac OS X.

Он предоставляет вам доступ к полностью автономному браузеру WebKit, управляемому с помощью сценариев, написанных на JavaScript, с возможностью выполнения различных действий, в том числе скрепа экрана и поддержки прокси. Использует командную строку.

Вы можете увидеть API здесь .

* Когда я говорю о чистке экрана, я имею в виду, что вы можете либо очищать содержимое страницы, либо даже сохранять визуализацию страницы в файл. Даже библиотека JS для скриншотов уже написана здесь .

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