Guest User

source_gtk_webkit.py

a guest
Jan 28th, 2017
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.31 KB | None | 0 0
  1. #!/usr/bin/env python2
  2. #Get source with scripts run using gtk webkit
  3.  
  4. import sys, gtk, webkit, warnings
  5.  
  6. warnings.filterwarnings('ignore')
  7. agent = 'Mozilla/5.0 (Windows NT 6.2; x86_64; rv:48.0) Gecko/20100101 Firefox/50.0'
  8.  
  9. class WebView(webkit.WebView):
  10.     def get_html(self):                    
  11.         self.execute_script('oldtitle=document.title;'
  12.             'document.title=document.documentElement.innerHTML;')
  13.         html = self.get_main_frame().get_title()
  14.         self.execute_script('document.title=oldtitle;')
  15.         return html
  16.  
  17. class Source_W_Scripts(gtk.Window):
  18.     def __init__(self, url, file):
  19.         gtk.Window.__init__(self)
  20.         self.url = url
  21.         self.file = file
  22.  
  23.     def get_it(self):
  24.         view = WebView()
  25.         settings = view.get_settings()
  26.         settings.set_property('user-agent', (agent))
  27.         view.open(self.url)
  28.         view.connect('load-finished', self.finished_loading)
  29.         self.add(view)
  30.         gtk.main()
  31.    
  32.     def finished_loading(self, view, frame):
  33.         with open(self.file, 'w') as f:
  34.             f.write(view.get_html())
  35.         gtk.main_quit()
  36.  
  37. def main():
  38.     url = raw_input('Enter/Paste url for source: ')
  39.     out_file = raw_input('Enter output file name: ')
  40.     dloader = Source_W_Scripts(url, out_file)
  41.     dloader.get_it()
  42.  
  43. if __name__ == '__main__':
  44.     main()
Add Comment
Please, Sign In to add comment