python2.7 + 谷歌浏览器 实现模拟浏览器爬虫

一、查看谷歌浏览器基本信息

在谷歌浏览器地址栏输入:chrome://version/

结果示例:

python2.7 + 谷歌浏览器 实现模拟浏览器爬虫_第1张图片

二、下载谷歌浏览器及驱动

驱动官方下载地址(需要挂代理访问):https://sites.google.com/a/chromium.org/chromedriver/downloads

1、根据“一”中自己浏览器的版本下载对应需要的代理版本:

python2.7 + 谷歌浏览器 实现模拟浏览器爬虫_第2张图片

2、将chrome浏览器安装位置及chrome驱动位置添加到计算机环境变量中去。可通过右键单击谷歌浏览器图标,选择“打开文件所在位置”,复制相应的路径即可。此处我将“1”中下载的驱动放入了相同的文件目录下,这样只需添加一次环境变量即可,且方便查找。

python2.7 + 谷歌浏览器 实现模拟浏览器爬虫_第3张图片

 

三、程序中Chrome的基本设置

1、简单的启动,无多余配置

class WebAPI(object):
    def __init__(self):
        """
        模拟浏览器
        """
        self.chrome_options = webdriver.ChromeOptions()

        self.driver = webdriver.Chrome()

    def get_baidu(self):
        self.driver.get("www.baidu.com")


此方法仅需要创建实例,调用“get_baidu()”函数即可实现基本的模拟浏览器访问百度的功能。

2、一些参数的设置,例如:代理,用户浏览器数据等

class WebAPI(object):
    def __init__(self, proxy='kb111.asuscomm.com:8119', profile_dir=r'C:\Users\yy\AppData\Local\Google\Chrome\User Data'):
        """
        模拟浏览器
        :param proxy: 代理ip
        :param profile_dir: 本地浏览器的默认设置文件路径  C:\Users\用户名\AppData\Local\Google\Chrome\User Data
        """
        self.chrome_options = webdriver.ChromeOptions()
        if profile_dir:
            self.chrome_options.add_argument('--no-sandbox')  # root权限
            self.chrome_options.add_argument("user-data-dir="+os.path.abspath(profile_dir))

        self.chrome_options.add_argument('disable-infobars')   # 去除"你的浏览器正在受自动化软件的控制"的字样
        self.chrome_options.add_argument('--proxy-server='+proxy)  # 用代理跑driver

        self.driver = webdriver.Chrome(chrome_options=self.chrome_options)

    def get_baidu(self):
        self.driver.get("www.baidu.com")

     

设置“无头浏览器”,即不显示浏览器界面:

    def __init__(self, headless=True):
        self.chrome_options = webdriver.ChromeOptions()
        if headless:   # 不显示浏览器
            self.chrome_options.add_argument('--headless')
            self.chrome_options.add_argument('--disable-gpu')
    
        self.driver = webdriver.Chrome(chrome_options=self.chrome_options)

(未完成,更新中)

你可能感兴趣的:(Python,爬虫)