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 相关文章推荐
python dataframe astype 字段类型转换方法
Apr 11 Python
使用Python如何测试InnoDB与MyISAM的读写性能
Sep 18 Python
django 将model转换为字典的方法示例
Oct 16 Python
Python3几个常见问题的处理方法
Feb 26 Python
PyQtGraph在pyqt中的应用及安装过程
Aug 04 Python
使用Python生成200个激活码的实现方法
Nov 22 Python
python 瀑布线指标编写实例
Jun 03 Python
python的launcher用法知识点总结
Aug 07 Python
python进度条显示之tqmd模块
Aug 22 Python
python遍历路径破解表单的示例
Nov 21 Python
浅析python中特殊文件和特殊函数
Feb 24 Python
基于Python编写一个监控CPU的应用系统
Jun 25 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重定向的三种方法分享
2012/02/22 PHP
PHP应用JSON技巧讲解
2013/02/03 PHP
smarty简单入门实例
2014/11/28 PHP
php取得字符串首字母的方法
2015/03/25 PHP
关于PHP中字符串与多进制转换函数的实例代码
2016/11/03 PHP
Prototype中dom对象方法汇总
2008/09/17 Javascript
浅析Javascript中“==”与“===”的区别
2014/12/23 Javascript
JavaScript更改原始对象valueOf的方法
2015/03/19 Javascript
JS阻止事件冒泡行为和闭包的方法
2016/06/16 Javascript
使用JavaScript获取Request中参数的值方法
2016/09/27 Javascript
BootStrap 动态表单效果
2017/06/02 Javascript
React Native之ListView实现九宫格效果的示例
2017/08/02 Javascript
JavaScript链式调用实例浅析
2018/12/19 Javascript
vue elementUI table表格数据 滚动懒加载的实现方法
2019/04/04 Javascript
JS闭包原理及其使用场景解析
2020/12/03 Javascript
[54:15]DOTA2-DPC中国联赛 正赛 DLG vs Dragon BO3 第二场2月1日
2021/03/11 DOTA
Python实现句子翻译功能
2017/11/14 Python
Python实现按当前日期(年、月、日)创建多级目录的方法
2018/04/26 Python
在Mac上删除自己安装的Python方法
2018/10/29 Python
Python实战购物车项目的实现参考
2019/02/20 Python
Python3 列表,数组,矩阵的相互转换的方法示例
2019/08/05 Python
python学生信息管理系统实现代码
2019/12/17 Python
一个非常简单好用的Python图形界面库(PysimpleGUI)
2020/12/28 Python
伦敦一家非常流行的时尚精品店:Oxygen Boutique
2017/01/15 全球购物
澳大利亚最大的女装零售商:Millers
2017/09/10 全球购物
Sneaker Studio匈牙利:购买运动鞋
2018/03/26 全球购物
平面网站制作专科生的自我评价分享
2013/12/11 职场文书
酒店总经理工作职责
2013/12/13 职场文书
土木工程师职业规划范文
2014/03/07 职场文书
公司离职证明范本
2014/10/17 职场文书
岳麓书院导游词
2015/02/03 职场文书
学习经验交流会策划书
2015/11/02 职场文书
Html5生成验证码的示例代码
2021/05/10 Javascript
Python Matplotlib绘制两个Y轴图像
2022/04/13 Python
Tomcat starup.bat 脚本实现开机自启动
2022/04/20 Servers
Android studio 简单计算器的编写
2022/05/20 Java/Android