python實(shí)現(xiàn)隨機(jī)調(diào)用一個(gè)瀏覽器打開(kāi)網(wǎng)頁(yè)
前兩天總結(jié)了一下python爬蟲(chóng) 使用真實(shí)瀏覽器打開(kāi)網(wǎng)頁(yè)的兩種方法總結(jié)
但那僅僅是總結(jié)一下而已,今天本文來(lái)實(shí)戰(zhàn)演練一下
依然使用的是 webbrowser 這個(gè)模塊 來(lái)調(diào)用瀏覽器
關(guān)于的三種打開(kāi)方式在上一篇文章中已經(jīng)說(shuō)過(guò)了,這里不再贅述
如果沒(méi)有特意注冊(cè),那么將會(huì)是使用默認(rèn)的瀏覽器來(lái)打開(kāi)網(wǎng)頁(yè),如下:
#默認(rèn)瀏覽器 #coding:utf-8 import webbrowser as web #對(duì)導(dǎo)入的庫(kù)進(jìn)行重命名 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 ....'
真正的注冊(cè)一個(gè)非默認(rèn)瀏覽器:
這里先用的firfox瀏覽器
#firefox瀏覽器 def use_firefox_open_url(url): browser_path=r'C:\Program Files (x86)\Mozilla Firefox\firefox.exe' #這里的‘firefox'只是一個(gè)瀏覽器的代號(hào),可以命名為自己認(rèn)識(shí)的名字,只要瀏覽器路徑正確 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 ....'
解釋一下這個(gè)注冊(cè)函數(shù)當(dāng)前的用法
web.register() 它的三個(gè)參數(shù)
第一個(gè)為 自己給瀏覽器重新命的名字, 主要目的是為了在之后的調(diào)用中,使用者能夠找到它
第二個(gè)參數(shù), 可以按照這樣上面的例子這樣寫(xiě),因?yàn)閜ython本身將一些瀏覽器實(shí)例化了, 但是還是推薦 將其賦值為 None ,因?yàn)檫@個(gè)參數(shù)沒(méi)有更好,畢竟有些瀏覽器python本身并沒(méi)有實(shí)例化,而這個(gè)參數(shù)也不影響它的使用
第三個(gè)參數(shù),目前所知是瀏覽器的路徑, 不知道有沒(méi)有別的寫(xiě)法
當(dāng)然,這里只是在這里的用法, 函數(shù)本身的意思可以去源文件中查看
下面給我一些測(cè)試的實(shí)例:
#coding:utf-8 import webbrowser as web #對(duì)導(dǎo)入的庫(kù)進(jìn)行重命名 import os import time #默認(rèn)瀏覽器 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'只是一個(gè)瀏覽器的代號(hào),可以命名為自己認(rèn)識(shí)的名字,只要瀏覽器路徑正確 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 ....' #瀏覽器關(guān)閉任務(wù) 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' #測(cè)試運(yùn)行主程序 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)#給瀏覽器打開(kāi)網(wǎng)頁(yè)一些反應(yīng)時(shí)間 close_broswer() if __name__ == '__main__': print ''''' ***************************************** ** Welcome to python of browser ** ** Created on 2017-05-07 ** ** @author: Jimy _Fengqi ** ***************************************** ''' broswer_test()
好了,上面的程序是測(cè)試實(shí)例, 下面對(duì)這些內(nèi)容做一個(gè)整合,簡(jiǎn)化一下代碼,來(lái)實(shí)現(xiàn)本文的根本目的
#coding:utf-8 import time import webbrowser as web import os import random #隨機(jī)選擇一個(gè)瀏覽器打開(kāi)網(wǎng)頁(yè) def open_url_use_random_browser(): #定義要訪問(wèn)的地址 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' ] #選擇一個(gè)瀏覽器 def chose_a_browser_open_url(browser_path,url): #如果傳入的瀏覽器位置不存在,使用默認(rèn)的瀏覽器打開(kāi) if not browser_path: print 'using default browser to open url' web.open_new_tab(url)#使用默認(rèn)瀏覽器,就不再結(jié)束進(jìn)程 else: #判斷瀏覽器路徑是否存在 if not os.path.exists(browser_path): print 'current browser path not exists,using default browser' #瀏覽器位置不存在就使用默認(rèn)的瀏覽器打開(kāi) browser_path='' chose_a_browser_open_url(chose_a_browser_open_url,url) else: browser_task_name=browser_path.split('\\')[-1]#結(jié)束任務(wù)的名字 browser_name=browser_task_name.split('.')[0]#自定義的瀏覽器代號(hào) print browser_name web.register(browser_name, None,web.BackgroundBrowser(browser_path)) web.get(browser_name).open_new_tab(url)#使用新注冊(cè)的瀏覽器打開(kāi)網(wǎng)頁(yè) print 'using %s browser open url successful' % browser_name time.sleep(5)#等待打開(kāi)瀏覽器 kill_cmd='taskkill /f /IM '+browser_task_name#拼接結(jié)束瀏覽器進(jìn)程的命令 os.system(kill_cmd) #終結(jié)瀏覽器 browser_path=random.choice(browser_paths)#隨機(jī)從瀏覽器中選擇一個(gè)路徑 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上面運(yùn)行,python版本是2.7
以上這篇python實(shí)現(xiàn)隨機(jī)調(diào)用一個(gè)瀏覽器打開(kāi)網(wǎng)頁(yè)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python中設(shè)置變量作為默認(rèn)值時(shí)容易遇到的錯(cuò)誤
這篇文章主要介紹了Python中設(shè)置變量作為默認(rèn)值時(shí)容易遇到的錯(cuò)誤,這是Python新手經(jīng)常容易碰到的問(wèn)題,且往往不會(huì)被輕易察覺(jué)到,需要的朋友可以參考下2015-04-04聊聊Python代碼中if?__name__?==?‘__main__‘的作用是什么
一個(gè)python文件通常有兩種使用方法,第一是作為腳本直接執(zhí)行,第二是 import 到其他的python腳本中被調(diào)用執(zhí)行,這篇文章主要給大家介紹了關(guān)于Python代碼中if?__name__?==?‘__main__‘的作用是什么的相關(guān)資料,需要的朋友可以參考下2022-03-03將python flask項(xiàng)目打包成可以運(yùn)行的軟件的全過(guò)程(包含報(bào)錯(cuò)解決)
這篇文章主要給大家介紹了將python flask項(xiàng)目打包成可以用運(yùn)行的軟件(包含報(bào)錯(cuò)解決),文中通過(guò)代碼示例和圖文結(jié)合講解的非常詳細(xì),具有一定的參考價(jià)值,需要的朋友可以參考下2024-02-02Pycharm在創(chuàng)建py文件時(shí),自動(dòng)添加文件頭注釋的實(shí)例
今天小編就為大家分享一篇Pycharm在創(chuàng)建py文件時(shí),自動(dòng)添加文件頭注釋的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-05-05