(多线程优化版)爬虫爬取京东商品详细数据(品牌、售价、各类评论量(精确数量)、热评词及数量等) json解析部分数据

本文介绍了一种使用ThreadPool和pool.map()进行多线程优化的Python爬虫,针对京东商品详情(品牌、价格、评论量等)进行数据抓取,将原本21000s的爬取时间缩短至3000s。文章内容包括多线程设置、数据库操作以及可能遇到的问题和解决方案。同时提供了前期准备(如数据预爬取、数据库字段创建)和错误处理建议。
摘要由CSDN通过智能技术生成

前言

文末附完整代码

本文为基于上一篇文章的多线程优化(完整独立),上一版本爬取时间为21000s左右,优化后仅3000s左右。上一版(未优化版)链接:
爬虫爬取京东商品详细数据 (品牌、售价、各类评论量(精确数量)、热评词及数量等)json解析部分数据

较原版所作改动:
1.添加多线程优化
2.运行结果显示优化

需要的前期准备:
1.需要预先爬取产品id(data-sku)
文章链接:(多线程优化)爬取京东笔记本电脑销量榜data-sku(商品id),并存入云服务器中的mysql库(爬取时间较上一版提升十多倍)
2.需先在存储产品id(data-sku)的数据库对应表中创建相应字段
详情可查看未优化版。

3.数据库ip及密码以***替代
4.可能遇到的错误及解决方法
数据库设置最大连接数方法(使用ThreadPool多线程插入数据到数据库报错)

使用ThreadPool()中的pool.map()多线程运行selenium webdriver导致的内存占用巨大,内存溢出乃至电脑卡死解决方法

正文

ThreadPool()中的pool.map()多线程优化

安装:

pip install threadpool

使用介绍:

(1)引入threadpool模块

from multiprocessing.dummy import Pool as ThreadPool

(2)创建线程 池pool = ThreadPool(n) # n为线程数

pool = ThreadPool(8)

(3)多线程处理

pool.map(反复调用的函数(只需要函数名),  参数池(元组类型))

(3)结束

pool.close() 	# 

pool.join()	#

本次选用的内容和使用:

    po = ThreadPool(12)
    po.map(get_data, tuple(url_id[0:6000]))
    time.sleep(1)
    po.close()
    po.join()

前期需求

需要的前期准备:
1.需要预先爬取产品id(data-sku)
文章链接:(多线程优化)爬取京东笔记本电脑销量榜data-sku(商品id),并存入云服务器中的mysql库(爬取时间较上一版提升十多倍)
2.需先在存储产品id(

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值