python實現(xiàn)隨機調用一個瀏覽器打開網頁
前兩天總結了一下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)隨機調用一個瀏覽器打開網頁就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
python+numpy+matplotalib實現(xiàn)梯度下降法
這篇文章主要為大家詳細介紹了python+numpy+matplotalib實現(xiàn)梯度下降法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-08-08
django利用request id便于定位及給日志加上request_id
這篇文章主要介紹了django利用request id便于定位及給日志加上request_id的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用django具有一定的參考學習價值,需要的朋友們下面來一起看看吧2018-08-08
python用pandas數(shù)據(jù)加載、存儲與文件格式的實例
今天小編就為大家分享一篇python用pandas數(shù)據(jù)加載、存儲與文件格式的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-12-12
Python?Flask實現(xiàn)快速構建Web應用的方法詳解
Flask是一個輕量級的Web服務器網關接口(WSGI)web應用框架,本文將和大家一起詳細探討一下Python?Flask?Web服務,需要的小伙伴可以學習一下2023-06-06
詳解Python使用apscheduler定時執(zhí)行任務
在平常的工作中幾乎有一半的功能模塊都需要定時任務來推動,例如項目中有一個定時統(tǒng)計程序,定時爬出網站的URL程序,定時檢測釣魚網站的程序等等,都涉及到了關于定時任務的問題,所以就找到了python的定時任務模塊2022-03-03
python merge、concat合并數(shù)據(jù)集的實例講解
下面小編就為大家分享一篇python merge、concat合并數(shù)據(jù)集的實例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-04-04
Python中用altzone()方法處理時區(qū)的教程
這篇文章主要介紹了Python中用altzone()方法處理時區(qū)的教程,是Python入門中的基礎知識,需要的朋友可以參考下2015-05-05
python中threading.Semaphore和threading.Lock的具體使用
python中的多線程是一個非常重要的知識點,本文主要介紹了python中threading.Semaphore和threading.Lock的具體使用,具有一定的參考價值,感興趣的小伙伴們可以參考一下2023-08-08

