一、浏览器的安全性
1、浏览器的安全性极为重要,因为我们日常上网都要暴露很多个人信息,比如账户密码、身份证信息等等。有些浏览器天生对安全就有着比其他浏览器更好的保护措施。例如Chrome浏览器,其采用的是具有隔离机制的多进程架构,就算有一部分浏览器被攻击,也不能对其他进程造成影响,这器作为开发者的我们要选择一个有强安全性保护措施的浏览器。
2、下面是使用Python示例代码实现Chrome浏览器的安全性,输出信息为Chrome是否采用了隔离机制的多进程架构:
import subprocess p1 = subprocess.Popen(["chrome.exe","--version"], stdout=subprocess.PIPE) out = p1.communicate()[0].decode('utf-8') if 'chromium' in out: print('Chrome is based on 制Chromium') else: print('Chrome Version:',out.split()[1]) p2 = subprocess.Popen(["tasklist"], stdout=subprocess.PIPE) tasks = p2.communicate()[0].decode('utf-8') if 'chrome.exe' in tasks: print('Chrome has multiple processes!') else: print('Chrome has only one process!')
二、浏览器的速度
1、浏览器速度是选用浏览器时必须考虑的因素之一。如我们使用Python进行网络爬虫开发,选择速度快的浏览器可以加速爬取的速度。Edge浏览器经常在各大浏览器速度测试网站上名列前茅,所以在开发爬虫程序时可以选择Edge浏览器。
2、我们可以使用Selenium和time模块进行简单速度测试,下面是使用Python实现使用Edge浏览器打开Bilibili官网并进行简单速度测试的代码示例:
from selenium import webdriver import time start = time.time() browser = webdriver.Edge(executable_path=r"MicrosoftWebDriver.exe") browser.get('http://www.bilibili.com') end = time.time() print('Time:',end-start) browser.quit()
三、浏览器的兼容性
1、浏览器的兼容性考虑的是浏览器对网页的渲染、支持一些特殊样式、技术等。Firefox浏览器得益于其极强的自由开发模式,使得他不断的与各种特殊的技术进行兼容,这时候你需要开发一个专业的网站或是学术性的网站就可以考虑使用Firefox。
2、使用Python和Selenium两个模块就能够将Firefox浏览器作为爬虫程序的爬取目标:下面就是一个简单提取网站元素的实例:
from selenium import webdriver browser = webdriver.Firefox(executable_path='geckodriver.exe') browser.get('https://www.cnblogs.com/') content = browser.find_element_by_class_name("post_list") print(content.get_attribute('outerHTML')) browser.quit()
四、浏览器的扩展功能
1、浏览器的扩展功能是用户在选择浏览器时除了以上因素之外考虑最多的一个因素。它是一款浏览器提供的额外工具,可以让用户直接在浏览器里面使用。多数用户可以留意那些广泛使用的浏览器插件,像是广告拦截器、流媒体下载器、在线翻译,邮箱提醒等扩展功能。
2、我们以Chrome浏览器为例子来解析浏览器扩展功能:如下代码用于判断有多少扩展功能,并且输出各个扩展功能的名称以及ID(以JSON格式输出)。
import sqlite3 data = [] with sqlite3.connect('extension/chrome/20.0.3102.0/Extensions/0000') as conn: c = conn.cursor() c.execute("select * from Extensions") records = c.fetchall() for record in records: if not 'hrome' in record[5]: continue data.append({ 'Name': record[2], 'ID': record[1] }) print(data)
五、浏览器的隐私性
1、隐私性对于很多使用互联网浏览器审查器的人来说是极为重要的因素。例如一些政府不喜欢用户随意切换隐私选项的浏览器。浏览器应该允许用户自主决定是否需要监控用户隐私信息。
2、我们可以使用Python开发一个辅助隐私保护的小工具,该工具能够告诉你某款浏览器是否支持隐私模式。下面是使用Python和selenium两个库来实现Chrome浏览器隐私模式开关的代码:
from selenium import webdriver from selenium.webdriver.chrome.options import Options import time chrome_options = Options() chrome_options.add_argument("--incognito") chrome_options.add_argument("--disable-extensions") browser = webdriver.Chrome(chrome_options=chrome_options, executable_path=r"D:\Program Files\ChromeDriver\chromedriver.exe") browser.get("https://www.baidu.com") time.sleep(5) browser.quit()