Python爬虫速度很慢?并发编程了解一下,提高10倍速度

在开发爬虫的时候,对于老工程师的工作节奏一般是先实现爬虫的抓取逻辑,然后就要提升爬取的效率了。

众所周知想提升效率就要涉猎到并发编程姿势啦,所以今天我们抛砖引玉,不去过多的计较太原理和抽象的东西,而是用 Python 自带的并发标准库和第三方库来看看怎么优雅的实现并发编程和提升爬取效率。

我们写来个简单的爬虫:

# -*- coding=utf-8 -*-
import time
import requests
from bs4 import BeautifulSoup

t1 = time.time()
urls = [
    '<https://movie.douban.com/top250?start={}&filter=>'.format(i)
    for i in range(0, 226, 25)
]

def job(url):
    r = requests.get(url)
    content = r.text
    soup = BeautifulSoup(content, 'html.parser')
    item = soup.select(".item")
    for i in item:
        print(i.select(".title")[0].text)

for url in urls:
    job(url)
# 耗时: 2.0312600135803223
print("耗时:", time.time() - t1)

这段代码的作用是使用 requests 和 BeautifulSoup 第三方库对豆瓣top250的电影名称进行的获取,非常简单,相信老司机的你们不需要我过多的解释。

然后我们统计一下耗时:2.0312600135803223

然后我们来思考,现在各种大牛口中的多线程,多进程和协程,我们在开发中是如何实现的。在这里插入图片描述
虽然不过多的说明原理,但是我相信你们心中还是好奇

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值