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爬虫教程之爬取百度贴吧并下载的示例
Mar 07 Python
用Python中的__slots__缓存资源以节省内存开销的方法
Apr 02 Python
python实现清屏的方法
Apr 30 Python
浅谈python中copy和deepcopy中的区别
Oct 23 Python
Python内建模块struct实例详解
Feb 02 Python
对python抓取需要登录网站数据的方法详解
May 21 Python
Windows 64位下python3安装nltk模块
Sep 19 Python
python爬虫之快速对js内容进行破解
Jul 09 Python
Django框架创建项目的方法入门教程
Nov 04 Python
基于Python数据结构之递归与回溯搜索
Feb 26 Python
解决django的template中如果无法引用MEDIA_URL问题
Apr 07 Python
bat批处理之字符串操作的实现
Mar 16 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
ftp类(myftp.php)
2006/10/09 PHP
PHP常用代码
2006/11/23 PHP
php输出表格的实现代码(修正版)
2010/12/29 PHP
PHP中MVC模式的模板引擎开发经验分享
2011/03/23 PHP
如何使用FireFox插件FirePHP调试PHP
2013/07/23 PHP
一个图片地址分解程序(用于PHP小偷程序)
2014/08/23 PHP
Jquery 扩展方法
2010/05/06 Javascript
jquery中获取select选中值的代码
2011/06/27 Javascript
javascript运动详解
2015/07/06 Javascript
JS组件Bootstrap按钮组与下拉按钮详解
2016/05/10 Javascript
JavaScript中的Object对象学习教程
2016/05/20 Javascript
js实现Tab选项卡切换效果
2020/07/17 Javascript
JavaScript求一组数的最小公倍数和最大公约数常用算法详解【面向对象,回归迭代和循环】
2018/05/07 Javascript
vue实现的仿淘宝购物车功能详解
2019/01/27 Javascript
Vue3 源码导读(推荐)
2019/10/14 Javascript
Vue监听滚动实现锚点定位(双向)示例
2019/11/13 Javascript
Pyramid Mako模板引入helper对象的步骤方法
2013/11/27 Python
快速实现基于Python的微信聊天机器人示例代码
2017/03/03 Python
使用OpenCV实现仿射变换—旋转功能
2019/08/29 Python
Python的Lambda函数用法详解
2019/09/03 Python
Python3实现发送邮件和发送短信验证码功能
2020/01/07 Python
tensorflow从ckpt和从.pb文件读取变量的值方式
2020/05/26 Python
python 进程池pool使用详解
2020/10/15 Python
Html5与App的通讯方式详解
2019/10/24 HTML / CSS
打造经典复古风格的品牌:Alice + Olivia(爱丽丝+奥利维亚)
2016/09/07 全球购物
英国最大的正宗复古足球衫制造商和零售商:TOFFS
2018/06/21 全球购物
军训教官感言
2014/03/02 职场文书
《月亮湾》教学反思
2014/04/14 职场文书
2014年党支部学习材料
2014/05/19 职场文书
参赛口号
2014/06/16 职场文书
个人简历自荐信
2014/06/26 职场文书
公务员党的群众路线教育实践活动学习心得体会
2014/10/30 职场文书
上课睡觉检讨书300字
2014/11/18 职场文书
Nginx部署vue项目和配置代理的问题解析
2021/08/04 Servers
SQL SERVER触发器详解
2022/02/24 SQL Server
Python实现批量将文件复制到新的目录中再修改名称
2022/04/12 Python