一种简单粗暴的网页代理模式

一般的网站代理都是使用socks5等代理协议,有时候可靠性不是那么好。本文介绍一种简单粗暴的网页代理模式,可以完成网页的基本浏览功能。

  • 实现原理
    非常简单,代理端只需要运行playwright、selenium等网页自动化工具,后台运行真正的浏览器(无头的),这样用户端在访问网页时,代理端真正的访问目标网址,然后把访问截图返回给用户,用户在截图上就当作真正的网页操作,包括点击和输入文本等操作。
  • 访问网页
    如下面示例代码所示,只需要把截图存在文件中,用户端访问此图片文件即可。
	def screenshot(self)->bytes:
        '''获取当前网页截图'''
        print('开始截图...')
        self.playwright.screenshot(path=self.screenshot_filename)
        print('已完成截图.')
        from starlette.responses import StreamingResponse,FileResponse
        #screenshot_bytes = self.playwright.page.screenshot(full_page=True)
        #return StreamingResponse(iter([screenshot_bytes]))
        return FileResponse(self.screenshot_filename)
  • 鼠标点击操作
	def on_click(self,x:str,y:str)->None:
        '''点击坐标'''
        self.playwright.page.mouse.click(int(x),int(y)) 
  • 输入文本操作
	def type_text(self,text:str)->str:
        '''输入文本'''
        self.playwright.page.keyboard.type(text)

最终效果如下图所示:
image

posted @ 2025-09-09 08:42  顺其自然,道法自然  阅读(6)  评论(0)    收藏  举报