python+Selenium多线程后台爬虫例子

Selenium多线程后台爬虫
一、前言:
有些网站不支持网页源码爬虫、或要爬取的网页内容不在网页源码中,
等需要使用Selenium进行爬虫
二、准备工作:
安装selenium及对应googlechrome浏览器
安装方法:参考安装教程
三、多线程原理:
1、利用同一个浏览器打开多页面、相当于打开一个线程、提高爬虫速度
2、同时打开多个浏览器,相关于打开多个线程。多线程提高爬虫速度
部分代码如下:

关键代码:

import time
import re
import threading
import queue
from browsermobproxy import Server
from selenium import webdriver
from selenium.webdriver.chrome.options import Options

def jiexi1():    #后台运行chrom浏览器
    option = webdriver.ChromeOptions()  # 设置option 后台运行
    option.add_argument('--headless')  # 设置option 后台运行
    option.add_argument('--blink-settings=imagesEnabled=false')  # 设置option 不显示图片提高速度  # 设置option 后台运行
    option.add_argument('--disable-gpu')  # 禁用GPU加速  # 设置option 后台运行
    web = webdriver.Chrome(chrome_options=option)  # 调用带参数的谷歌浏览器  # 设置option 后台运行
    web.get('http://www.baidu.com') #初始页面
    
    地址 = url.get()  #取地址

    js1="window.open('%s')" % 地址     #打开 新地址
    web.execute_script(js1)
    web.switch_to.window(web.window_handles[-1])
    jb1=web.window_handles[-1]
    
    for i in range(5):    #多线程打开浏览器
        t1 = threading.Thread(target=jiexi1)  
        t1.start()
        #time.sleep(1)
    for ii in range(5):
        t1.join()


评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值