溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python實現(xiàn)隨機調用一個瀏覽器打開網頁

發(fā)布時間:2020-10-12 19:13:54 來源:腳本之家 閱讀:210 作者:楓奇 欄目:開發(fā)技術

前兩天總結了一下python爬蟲 使用真實瀏覽器打開網頁的兩種方法總結

但那僅僅是總結一下而已,今天本文來實戰(zhàn)演練一下

依然使用的是 webbrowser 這個模塊 來調用瀏覽器

關于的三種打開方式在上一篇文章中已經說過了,這里不再贅述

如果沒有特意注冊,那么將會是使用默認的瀏覽器來打開網頁,如下:

#默認瀏覽器 
#coding:utf-8 
import webbrowser as web #對導入的庫進行重命名 
def run_to_use_default_browser_open_url(url): 
 web.open_new_tab(url) 
 print 'run_to_use_default_browser_open_url open url ending ....' 

真正的注冊一個非默認瀏覽器:

這里先用的firfox瀏覽器

#firefox瀏覽器 
def use_firefox_open_url(url): 
 browser_path=r'C:\Program Files (x86)\Mozilla Firefox\firefox.exe' 
 #這里的‘firefox'只是一個瀏覽器的代號,可以命名為自己認識的名字,只要瀏覽器路徑正確 
 web.register('firefox', web.Mozilla('mozilla'), web.BackgroundBrowser(browser_path)) 
 #web.get('firefox').open(url,new=1,autoraise=True) 
 web.get('firefox').open_new_tab(url) 
 print 'use_firefox_open_url open url ending ....' 

解釋一下這個注冊函數(shù)當前的用法

web.register() 它的三個參數(shù)

第一個為 自己給瀏覽器重新命的名字, 主要目的是為了在之后的調用中,使用者能夠找到它

第二個參數(shù), 可以按照這樣上面的例子這樣寫,因為python本身將一些瀏覽器實例化了, 但是還是推薦 將其賦值為 None ,因為這個參數(shù)沒有更好,畢竟有些瀏覽器python本身并沒有實例化,而這個參數(shù)也不影響它的使用

第三個參數(shù),目前所知是瀏覽器的路徑, 不知道有沒有別的寫法

當然,這里只是在這里的用法, 函數(shù)本身的意思可以去源文件中查看

下面給我一些測試的實例:

#coding:utf-8
import webbrowser as web #對導入的庫進行重命名
import os
import time
#默認瀏覽器
def run_to_use_default_browser_open_url(url):
	web.open_new_tab(url)
	print 'run_to_use_default_browser_open_url open url ending ....'
	
#firefox瀏覽器	
def use_firefox_open_url(url):
	browser_path=r'C:\Program Files (x86)\Mozilla Firefox\firefox.exe'
	#這里的‘firefox'只是一個瀏覽器的代號,可以命名為自己認識的名字,只要瀏覽器路徑正確
	web.register('firefox', web.Mozilla('mozilla'), web.BackgroundBrowser(browser_path))
	#web.get('firefox').open(url,new=1,autoraise=True)
	web.get('firefox').open_new_tab(url)
	print 'use_firefox_open_url open url ending ....'
#谷歌瀏覽器
def use_chrome_open_url(url):
	browser_path=r'C:\Program Files (x86)\Google\Chrome\Application\chrome.exe'
	web.register('chrome', None,web.BackgroundBrowser(browser_path))
	web.get('chrome').open_new_tab(url)
	print 'use_chrome_open_url open url ending ....'
#Opera瀏覽器	
def use_opera_open_url(url):
	browser_path=r'C:\Program Files (x86)\Opera\launcher.exe'
	web.register('opera', None,web.BackgroundBrowser(browser_path))
	web.get('chrome').open_new_tab(url)
	print 'use_opera_open_url open url ending ....'
#千影瀏覽器
def use_qianying_open_url(url):
	browser_path=r'C:\Users\Administrator\AppData\Roaming\qianying\qianying.exe'
	web.register('qianying', None,web.BackgroundBrowser(browser_path))
	web.get('qianying').open_new_tab(url)
	print 'use_qianying_open_url open url ending ....'
#115瀏覽器	
def use_115_open_url(url):
	browser_path=r'C:\Users\Administrator\AppData\Local\115Chrome\Application\115chrome.exe'
	web.register('115', None,web.BackgroundBrowser(browser_path))
	web.get('115').open_new_tab(url)
	print 'use_115_open_url open url ending ....'
	
#IE瀏覽器	
def use_IE_open_url(url):
	browser_path=r'C:\Program Files (x86)\Internet Explorer\iexplore.exe'
	web.register('IE', None,web.BackgroundBrowser(browser_path))
	web.get('IE').open_new_tab(url)
	print 'use_IE_open_url open url ending ....'
	
#搜狗瀏覽器
def use_sougou_open_url(url):
	browser_path=r'D:\Program Files(x86)\SouExplorer\SogouExplorer\SogouExplorer.exe'
	web.register('sougou', None,web.BackgroundBrowser(browser_path))
	web.get('sougou').open_new_tab(url)
	print 'use_sougou_open_url open url ending ....'
	
#瀏覽器關閉任務	
def close_broswer():
	os.system('taskkill /f /IM SogouExplorer.exe') 
	print 'kill SogouExplorer.exe'
	os.system('taskkill /f /IM firefox.exe') 
	print 'kill firefox.exe'
	os.system('taskkill /f /IM Chrome.exe') 
	print 'kill Chrome.exe'
	os.system('taskkill /f /IM launcher.exe') 
	print 'kill launcher.exe'
	os.system('taskkill /f /IM qianying.exe') 
	print 'kill qianying.exe'
	os.system('taskkill /f /IM 115chrome.exe') 
	print 'kill 115chrome.exe'
	os.system('taskkill /f /IM iexplore.exe') 
	print 'kill iexplore.exe'
	
#測試運行主程序
def broswer_test():	
	url='https://www.baidu.com'	
	run_to_use_default_browser_open_url(url)
	use_firefox_open_url(url)
	#use_chrome_open_url(url)
	use_qianying_open_url(url)
	use_115_open_url(url)
	use_IE_open_url(url)
	use_sougou_open_url(url)
	time.sleep(20)#給瀏覽器打開網頁一些反應時間
	close_broswer()
if __name__ == '__main__': 
	print ''''' 
   ***************************************** 
   ** Welcome to python of browser  ** 
   **  Created on 2017-05-07   ** 
   **  @author: Jimy _Fengqi   ** 
   ***************************************** 
	''' 
	broswer_test()	
	

好了,上面的程序是測試實例, 下面對這些內容做一個整合,簡化一下代碼,來實現(xiàn)本文的根本目的

#coding:utf-8
import time
import webbrowser as web
import os
import random
#隨機選擇一個瀏覽器打開網頁
def open_url_use_random_browser():
	#定義要訪問的地址
	url='https://www.baidu.com'
	#定義瀏覽器路徑
	browser_paths=[r'C:\Program Files (x86)\Mozilla Firefox\firefox.exe',
							r'C:\Program Files (x86)\Google\Chrome\Application\chrome.exe',
							r'C:\Program Files (x86)\Opera\launcher.exe',
							r'C:\Users\Administrator\AppData\Roaming\qianying\qianying.exe',
							r'C:\Users\Administrator\AppData\Local\115Chrome\Application\115chrome.exe',
							r'C:\Program Files (x86)\Internet Explorer\iexplore.exe',
							r'D:\Program Files(x86)\SouExplorer\SogouExplorer\SogouExplorer.exe'
							]
	#選擇一個瀏覽器
	def chose_a_browser_open_url(browser_path,url):
		#如果傳入的瀏覽器位置不存在,使用默認的瀏覽器打開
		if not browser_path:
			print 'using default browser to open url'
			web.open_new_tab(url)#使用默認瀏覽器,就不再結束進程
		else:
			#判斷瀏覽器路徑是否存在
			if not os.path.exists(browser_path):
				print 'current browser path not exists,using default browser'
				#瀏覽器位置不存在就使用默認的瀏覽器打開
				browser_path=''
				chose_a_browser_open_url(chose_a_browser_open_url,url)
			else:
				browser_task_name=browser_path.split('\\')[-1]#結束任務的名字
				browser_name=browser_task_name.split('.')[0]#自定義的瀏覽器代號
				print browser_name
				web.register(browser_name, None,web.BackgroundBrowser(browser_path))
				web.get(browser_name).open_new_tab(url)#使用新注冊的瀏覽器打開網頁
				print 'using %s browser open url successful' % browser_name
				time.sleep(5)#等待打開瀏覽器
				kill_cmd='taskkill /f /IM '+browser_task_name#拼接結束瀏覽器進程的命令
				os.system(kill_cmd) #終結瀏覽器
	browser_path=random.choice(browser_paths)#隨機從瀏覽器中選擇一個路徑
	chose_a_browser_open_url(browser_path,url)
if __name__ == '__main__': 
	print ''''' 
   ***************************************** 
   ** Welcome to python of browser  ** 
   **  Created on 2017-05-07   ** 
   **  @author: Jimy _Fengqi   ** 
   ***************************************** 
	'''
	open_url_use_random_browser()	

PS:本程序在windows上面運行,python版本是2.7

以上這篇python實現(xiàn)隨機調用一個瀏覽器打開網頁就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。

AI