python爬虫(20)使用真实浏览器打开网页的两种方法
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