如何通过类方法改变类属性的值?
如下面的代码,我创建了一个中间件,在__init__方法里启动了一个浏览器,我想通过process_request方法,更新driver = webdriver.PhantomJS(service_args=service_args)的代理,如何更改代码。
class Phantomjs_Middlewares(object):
def __init__(self,service_args=[]):
redis_client_pool = redis.ConnectionPool(host='1.1.1.1', port=6378, password='123456')
self.aaa_redis = redis.Redis(connection_pool=redis_client_pool)
self.driver = webdriver.PhantomJS(service_args=service_args)
def get_proxy(self):
return self.aaa_redis.randomkey()
def __del__(self):
self.driver.quit()
def process_request(self,request,spider):
service_args = [
'--proxy=%s'%self.get_proxy(),
'--proxy-type=http',
'--load-images=no',
'--disk-cache=yes',
'--ignore-ssl-errors=true'
]
#上面设置好代理后,如何在下面更新__init__创建好的浏览器的代理,或设置项
self.driver(service_args=service_args)#这句有问题,不会写了
driver.get(url=request.url)
return HtmlResponse(url=driver.current_url, body=driver.page_source, encoding="utf-8", request=request)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论