• 0

كيف أغيّر user-agent لـ Qwebview في بايثون؟

كيف أستطيع تغيير user-agent لـ Qwebview إلى - على سبيل المثال - متصفح فيرفكس باستخدام لغة بايثون؟

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

يمكنك فعل ذلك بعدة طرق، تابع المثال التالي، سنستورد أولًا بعض المكتبات:

from PyQt4.QtWebKit import *
from PyQt4.QtNetwork import *

بعد ذلك سنختار User-Agent الذي نريده كالتالي:

USER_AGENT = "Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:15.0) Gecko/20100101 Firefox/15.0.1"

وستكون شيفرته البرمجية كالتالي:

def customuseragent(url):
    print 'called for %s' % url
    return 'custom ua'


#inside a class
# class WebRequest(QWebView) ## the definition of the class uncomment to make use of the inheritance.

self.request = QNetworkRequest()
self.request.setUrl(QUrl(url))
self.request.setRawHeader("User-Agent",USER_AGENT)

self.webkit = QtWebKit.QWebView()
self.webkit.page().userAgentForUrl = customuseragent
self.webkit.load(self.request)

ملاحظة: هذا المثال البسيط مأخوذ من برنامج، أما لو أردت طريقة بسيطة لفعل ذلك فيمكنك استخدام ما يلي:



class MyBrowser(QWebPage):
    ''' Settings for the browser.'''

    def userAgentForUrl(self, url):
        ''' Returns a User Agent that will be seen by the website. '''
        return "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.15 (KHTML, like Gecko) Chrome/24.0.1295.0 Safari/537.15"

class Browser(QWebView):
    def __init__(self):
        QWebView.__init__(self)
        self.setPage(MyBrowser())

طبعا سنستعمل نفس المتطلبات من مكتبات المثال السابق.

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن