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基础教程之Hello World!
Aug 29 Python
不可错过的十本Python好书
Jul 06 Python
Python基于回溯法子集树模板解决m着色问题示例
Sep 07 Python
Python中单、双下划线的区别总结
Dec 01 Python
python使用梯度下降和牛顿法寻找Rosenbrock函数最小值实例
Apr 02 Python
python实现一个猜拳游戏
Apr 05 Python
keras 使用Lambda 快速新建层 添加多个参数操作
Jun 10 Python
python实现图片,视频人脸识别(opencv版)
Nov 18 Python
linux centos 7.x 安装 python3.x 替换 python2.x的过程解析
Dec 14 Python
Python 实现一个简单的web服务器
Jan 03 Python
python用opencv 图像傅里叶变换
Jan 04 Python
python实现银行账户系统
Feb 22 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
如何跨站抓取别的站点的页面的补充
2006/10/09 PHP
ThinkPHP框架安全实现分析
2016/03/14 PHP
PHP控制前台弹出对话框的实现方法
2016/08/21 PHP
PHP二维数组实现去除重复项的方法【保留各个键值】
2017/12/21 PHP
ThinkPHP5.0框架结合Swoole开发实现WebSocket在线聊天案例详解
2019/04/02 PHP
PHP实现通过二维数组键值获取一维键名操作示例
2019/10/11 PHP
通过JavaScript控制字体大小的代码
2011/10/04 Javascript
基于jQuery的AJAX和JSON实现纯html数据模板
2016/08/09 Javascript
JS常用加密编码与算法实例总结
2016/12/22 Javascript
纯js实现倒计时功能
2017/01/06 Javascript
Javascript中 带名 匿名 箭头函数的重要区别(推荐)
2017/01/29 Javascript
微信小程序 图片绝对定位(背景图片)
2017/04/05 Javascript
vue中promise的使用及异步请求数据的方法
2018/11/08 Javascript
利用百度echarts实现图表功能简单入门示例【附源码下载】
2019/06/10 Javascript
VUE写一个简单的表格实例
2019/08/06 Javascript
vue props 一次传多个值实例
2020/07/22 Javascript
[04:48]DOTA2上海特锦赛小组赛第三日 TOP10精彩集锦
2016/02/28 DOTA
[58:23]LGD vs TNC 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
Python中使用SAX解析xml实例
2014/11/21 Python
python让图片按照exif信息里的创建时间进行排序的方法
2015/03/16 Python
influx+grafana自定义python采集数据和一些坑的总结
2018/09/17 Python
python3.6.5基于kerberos认证的hive和hdfs连接调用方式
2020/06/06 Python
阿玛尼美妆加拿大官方商城:Giorgio Armani Beauty加拿大
2017/10/24 全球购物
大学教师年终总结的自我评价
2013/10/29 职场文书
计算机应用专业应届毕业生中文求职信范文
2013/11/29 职场文书
水电工岗位职责
2014/02/12 职场文书
领导党性分析材料
2014/02/15 职场文书
《这儿真好》教学反思
2014/02/22 职场文书
党员承诺书怎么写
2014/05/20 职场文书
医院深入开展党的群众路线教育实践活动实施方案
2014/08/27 职场文书
三方股份合作协议书
2014/10/13 职场文书
遗失说明具结保证书
2015/02/26 职场文书
学校捐书活动总结
2015/05/08 职场文书
导游词之青岛太清宫
2019/12/13 职场文书
解决mysql模糊查询索引失效问题的几种方法
2021/06/18 MySQL
Python List remove()实例用法详解
2021/08/02 Python