前两天总结了一下python爬虫 使用真实浏览器打开网页的两种方法总结

但那仅仅是总结一下而已,今天本文来实战演练一下

依然使用的是 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 ....'

解释一下这个注册函数当前的用法

web.register() 它的三个参数

第一个为自己给浏览器重新命的名字, 主要目的是为了在之后的调用中,使用者能够找到它

第二个参数,可以按照这样上面的例子这样写,因为python本身将一些浏览器实例化了, 但是还是推荐 将其赋值为 None ,因为这个参数没有更好,毕竟有些浏览器python本身并没有实例化,而这个参数也不影响它的使用

第三个参数,目前所知是浏览器的路径, 不知道有没有别的写法

当然,这里只是在这里的用法, 函数本身的意思可以去源文件中查看

下面给我一些测试的实例:

#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()

好了,上面的程序是测试实例, 下面对这些内容做一个整合,简化一下代码,来实现本文的根本目的

#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实现随机调用一个浏览器打开网页就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

本文标题: python实现随机调用一个浏览器打开网页

本文地址: http://www.cppcns.com/jiaoben/python/225922.html

python打开浏览器怎么写_python实现随机调用一个浏览器打开网页相关推荐

  1. python调用浏览器内核实现内嵌浏览器_python实现随机调用一个浏览器打开网页

    下面为大家分享一篇python实现随机调用一个浏览器打开网页,具有很好的参考价值,希望对大家有所帮助.一起过来看看吧 前两天总结了一下python爬虫 使用真实浏览器打开网页的两种方法总结 但那仅仅是 ...

  2. [python小工具]随机调用一个浏览器打开网页

    前两天总结了一下使用python 调用真正的浏览器打开网页的方法 但那仅仅是总结一下而已,今天本文来实战演练一下 依然使用的是 webbrowser 这个模块 来调用浏览器 关于的三种打开方式在上一篇 ...

  3. python 无头浏览器xhr 文件_Python对Selenium调用浏览器进行封装包括启用无头浏览器,及对应的浏览器配置文件...

    """ 获取浏览器 打开本地浏览器 打开远程浏览器 关闭浏览器 打开网址 最大化 最小化 标题 url 刷新 python对selenium封装浏览器调用 ------b ...

  4. python 模拟浏览器selenium 微信_python爬虫:使用Selenium模拟浏览器行为

    前几天有位微信读者问我一个爬虫的问题,就是在爬去百度贴吧首页的热门动态下面的图片的时候,爬取的图片总是爬取不完整,比首页看到的少.原因他也大概分析了下,就是后面的图片是动态加载的.他的问题就是这部分动 ...

  5. python文件是怎么写_python头文件怎么写

    本文主要以python2为例.首先介绍一下Python头文件的编程风格,然后再给大家详细介绍import部分的基本用法.这两个部分就是Python中头文件的组成模块. 编程风格#!/usr/bin/e ...

  6. python自动生成鸡汤文_python爬虫+pyinstaller制作一个属于自己的心灵鸡汤

    效果图如下: 实现方法 用Python爬虫对现有的api进行请求,获取彩虹屁,然后用tkinter模块形成一个可视化的gui,最后用pyinstaller对该py文件打包,这就是最后的彩虹屁生成器. ...

  7. win7怎么打开html 文件夹,win7系统怎么设置一个窗口打开多个文件夹

    我们常常在使用电脑的时候都会发现,一些用户在打开文件夹会发现我们不能同时在一个窗口下打开,用起来非常的不方便,那么你知道win7系统怎么设置一个窗口打开多个文件夹吗?下面是学习啦小编整理的一些关于wi ...

  8. python测试代码怎么写_Python 单元测试

    Test your software, or your users will. "Test ruthlessly. Don't make your users find bugs for y ...

  9. python代理ip怎么写_python代理ip怎么写

    python写代理ip的方法:首先创建代理ip对象,并定制一个opener对象:然后安装opener对象,以后的urlopen就一直使用这个代理地址. python写代理ip的方法: 方法1: 先创建 ...

最新文章

  1. python3模块socket怎么安装_Python中socket模块的使用方法(一)
  2. 14 位大咖导师集结完毕,阿里云云原生加速器就等你来
  3. 基于Dapper二次封装了一个易用的ORM工具类:SqlDapperUtil
  4. .net下Selenium2使用方法总结
  5. 【pandas】删除满足条件元素所在的行
  6. mysql 优化命令_MySQL优化Explain命令简介(一)
  7. UIView方法,属性的集合
  8. atitit.提升开发效率---MDA 软件开发方式的革命(5)----列表查询建模
  9. 【小程序源码】修复图片音频全新升级带特效神器小游戏微信小程序源码下载-多种游戏支持
  10. UML--构件图详解
  11. 3dmax渲染大图高清最详细参数来了
  12. 计算机软考中级网络工程师考点总结——待续
  13. uni-app使用,并引入thor-ui
  14. 公司 邮件 翻译 培训 长难句 13
  15. Android任务栈的理解
  16. 链表的倒转, K个一组倒转问题
  17. iOS 设置自定义间距的文字下划线
  18. 费曼:数学与物理学的关系
  19. jQuery点击按钮新增dom
  20. sdk编译文件报错conflicting types for ‘kill‘

热门文章

  1. 摄像头参数介绍 ———— 暗电流
  2. 网格布局java_Java 网格布局
  3. CentOS7 搭建 iSCSI网络存储
  4. 大龄程序员的出路在哪里?八年老Android的一点心得
  5. 什么是校园水电表预付费系统?
  6. 正在颠覆技术栈,一文看懂网易数帆轻舟云原生交付实践
  7. 中兴通讯股份有限公司关于重大事项进展公告
  8. exFAT文件系统2
  9. Java编程常见低级错误(整理)
  10. Struts2学习笔记__其他表单标签checkboxlist