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

