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


Posted in Python onApril 21, 2018

1.使用系统自带库 os

这种方法的优点是,任何浏览器都能够使用, 缺点不能自如的打开一个又一个的网页

import os 
os.system('"C:/Program Files/Internet Explorer/iexplore.exe" http://www.baidu.com')

2.使用python 集成的库 webbroswer

python的webbrowser模块支持对浏览器进行一些操作,主要有以下三个方法:

import webbrowser 
webbrowser.open(url, new=0, autoraise=True) 
webbrowser.open_new(url) 
webbrowser.open_new_tab(url)

他们虽然是三个方法, 其实还是一个方法, 只是传递的参数不同

webbrowser.open(url, new=0, autoraise=True) 在系统的默认浏览器中访问url地址,如果new=0, url会在同一个

浏览器窗口中打开;如果new=1,新的浏览器窗口会被打开;new=2 新的浏览器tab会被打开

其他的两个函数 webbrowser.open_new(url),webbrowser.open_new_tab(url)其实都是返回了webbrowser.open() 这个方法

只是他们没有其他的两个参数了。

在调用其他的浏览器的时候需要提前注册, 否则打开页面的是默认浏览器

import webbrowser 
chromePath = r'你的浏览器目录'   # 例如我的:D:\Google\Chrome\Application\chrome.exe 
webbrowser.register('chrome', None, webbrowser.BackgroundBrowser(chromePath)) #这里的'chrome'可以用其它任意名字,如chrome111,这里将想打开的浏览器保存到'chrome' 
webbrowser.get('chrome').open('www.baidu.com',new=1,autoraise=True)

webbrowser 这个库锁支持的浏览器类型如下:

Type Name Class Name Notes 
 'mozilla' Mozilla('mozilla') 
 'firefox' Mozilla('mozilla') 
 'netscape' Mozilla('netscape') 
 'galeon' Galeon('galeon') 
 'epiphany' Galeon('epiphany') 
 'skipstone' BackgroundBrowser('skipstone') 
 'kfmclient' Konqueror() (1) 
 'konqueror' Konqueror() (1) 
 'kfm' Konqueror() (1) 
 'mosaic' BackgroundBrowser('mosaic') 
 'opera' Opera() 
 'grail' Grail() 
 'links' GenericBrowser('links') 
 'elinks' Elinks('elinks') 
 'lynx' GenericBrowser('lynx') 
 'w3m' GenericBrowser('w3m') 
 'windows-default' WindowsDefault (2) 
 'macosx' MacOSX('default') (3) 
 'safari' MacOSX('safari') (3) 
 'google-chrome' Chrome('google-chrome') 
 'chrome' Chrome('chrome') 
 'chromium' Chromium('chromium') 
 'chromium-browser' Chromium('chromium-browser')

这些内容都可以在 源文件中看到, 路径为: python2.7/libs/webbroser.py

以上这篇python爬虫 使用真实浏览器打开网页的两种方法总结就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
pytyon 带有重复的全排列
Aug 13 Python
python中的yield使用方法
Feb 11 Python
自己使用总结Python程序代码片段
Jun 02 Python
python二分查找算法的递归实现方法
May 12 Python
浅谈Python爬取网页的编码处理
Nov 04 Python
Pycharm编辑器技巧之自动导入模块详解
Jul 18 Python
Django中的CBV和FBV示例介绍
Feb 25 Python
Python3.5内置模块之time与datetime模块用法实例分析
Apr 27 Python
python实现视频分帧效果
May 31 Python
jupyter notebook 增加kernel教程
Apr 10 Python
Python 执行矩阵与线性代数运算
Aug 01 Python
Python线程池与GIL全局锁实现抽奖小案例
Apr 13 Python
Python针对给定字符串求解所有子序列是否为回文序列的方法
Apr 21 #Python
Django项目实战之用户头像上传与访问的示例
Apr 21 #Python
基于Python 装饰器装饰类中的方法实例
Apr 21 #Python
使用python装饰器计算函数运行时间的实例
Apr 21 #Python
Python实现针对给定字符串寻找最长非重复子串的方法
Apr 21 #Python
Python 实现一行输入多个值的方法
Apr 21 #Python
Python实现接受任意个数参数的函数方法
Apr 21 #Python
You might like
php表单请求获得数据求和示例
2014/05/15 PHP
CI框架Session.php源码分析
2014/11/03 PHP
JS Replace 全部替换字符的用法小结
2013/12/24 Javascript
jquery判断元素的子元素是否存在的示例代码
2014/02/04 Javascript
js获取日期:昨天今天和明天、后天
2014/06/11 Javascript
防止登录页面出现在frame中js代码
2014/07/22 Javascript
jQuery form插件的使用之处理server返回的JSON, XML,HTML数据
2016/01/26 Javascript
JavaScript实现iframe自动高度调整和不同主域名跨域
2016/02/27 Javascript
jquery中实现时间戳与日期相互转换
2016/04/12 Javascript
详解jQuery UI库中文本输入自动补全功能的用法
2016/04/23 Javascript
JavaScript中的Reflect对象详解(ES6新特性)
2016/07/22 Javascript
AngularJS入门教程之服务(Service)
2016/07/27 Javascript
Vue.js学习记录之在元素与template中使用v-if指令实例
2017/06/27 Javascript
微信小程序如何实现五星评价功能
2019/10/15 Javascript
django之跨表查询及添加记录的示例代码
2018/10/16 Python
在双python下设置python3为默认的方法
2018/10/31 Python
简单了解python 邮件模块的使用方法
2019/07/24 Python
完美解决ARIMA模型中plot_acf画不出图的问题
2020/06/04 Python
详解python变量与数据类型
2020/08/25 Python
java关于string最常出现的面试题整理
2021/01/18 Python
CSS3的Border-radius轻松制作圆角
2012/12/24 HTML / CSS
css3实现顶部社会化分享按钮示例
2014/05/06 HTML / CSS
html5中的input新属性range使用记录
2014/09/05 HTML / CSS
澳大利亚制造的羊皮靴:Original UGG Boots
2017/11/13 全球购物
阿联酋航空假期:Emirates Holidays
2018/03/20 全球购物
美国家居装饰店:Pier 1
2019/09/04 全球购物
DBA数据库管理员JAVA程序员架构师必看
2016/02/07 面试题
生产厂厂长岗位职责
2013/12/25 职场文书
《三亚落日》教学反思
2014/04/26 职场文书
团日活动总结书
2014/05/08 职场文书
公务员政审单位鉴定材料
2014/05/16 职场文书
2015幼儿园庆元旦活动方案
2014/12/09 职场文书
关于感谢信的范文
2015/01/23 职场文书
2015年班组工作总结
2015/04/20 职场文书
三八妇女节主持词
2015/07/04 职场文书
python3美化表格数据输出结果的实现代码
2021/04/14 Python