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

yipeiwu_com5年前Python爬虫

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设计】。

相关文章

python3.4爬虫demo

python 3.4 所写爬虫 仅仅是个demo,以百度图片首页图片为例。能跑出图片上的图片; 使用 eclipse pydev 编写: from SpiderSimple.HtmL...

Python tornado队列示例-一个并发web爬虫代码分享

Queue Tornado的tornado.queue模块为基于协程的应用程序实现了一个异步生产者/消费者模式的队列。这与python标准库为多线程环境实现的queue模块类似。 一个协...

Python打印scrapy蜘蛛抓取树结构的方法

本文实例讲述了Python打印scrapy蜘蛛抓取树结构的方法。分享给大家供大家参考。具体如下: 通过下面这段代码可以一目了然的知道scrapy的抓取页面结构,调用也非常简单 #!/...

Python使用Srapy框架爬虫模拟登陆并抓取知乎内容

Python使用Srapy框架爬虫模拟登陆并抓取知乎内容

一、Cookie原理 HTTP是无状态的面向连接的协议, 为了保持连接状态, 引入了Cookie机制 Cookie是http消息头中的一种属性,包括: Cookie名字(Name)...

Python实现的爬虫功能代码

本文实例讲述了Python实现的爬虫功能。分享给大家供大家参考,具体如下: 主要用到urllib2、BeautifulSoup模块 #encoding=utf-8 import re...