python + selenium多进程分摊爬虫任务基础

本文介绍了一个使用Python结合Selenium实现的多进程爬虫基础,针对淘宝商品信息爬取。通过Selenium处理淘宝的反爬策略,利用多进程并发爬取提高效率,避免Python GIL限制。文中详细阐述了多进程任务分摊的思路和环境配置。
摘要由CSDN通过智能技术生成

python + selenium多进程分摊爬虫任务基础

1. 背景

  • 现在有这样一个需求:爬取淘宝商品信息,具体的流程是,在搜索栏输入关键字,然后爬取搜索结果列表中的商品信息。
  • 分析这个需求会发现具有如下特点:
    • 第一,淘宝请求url具有一定的反爬措施,构造起来困难 ——> 应对这种问题的方案就是采用selenium浏览器渲染技术去爬取。
    • 第二,实践发现,目前淘宝对这个爬取频率并没有做很大的限制。也就是说,可以在selenium的基础上,加上多进程并发的方式,并行爬取数据,加快爬取速度。
    • 第三,为什么不用多线程,而选择多进程?由于python GIL的存在,在CPU密集型的程序当中,使用多线程并不能有效利用多核CPU的优势,因为一个解析器在同一时刻只会有一个线程在执行。所以,python的多进程(multiprocessing)模块可以充分利用硬件的多处理器来进行工作。目前支持UNIX和Windows系统。而且multiprocessing提供了本地和远程的并发性。

2. 环境

  • python 3.6.1
  • 系统:win7
  • IDE:pycharm
  • selenium 3.7.0

3. 多进程任务分摊

  • 基本思路:
    • 第一,开多个进程,并行运行多个chrome浏览器。
    • 第二,将所有的关键字放入同一个queue中,其他进程从中获取关键字,进行搜索数据。

import configure
import multiprocessing
import time

# 由mark标记是哪个进程执行的动作
d
  • 3
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值