爬取豆瓣电影TOP250的进阶

本文介绍了作者重新捡起爬虫技术,对比了单线程、多线程和协程版本爬取豆瓣电影TOP250的性能。单线程耗时约2.45秒,多线程提升至0.3秒,而协程版本虽然尝试优化,但实际运行速度约为2.5秒,与单线程相差无几,暗示存在潜在问题,作者计划进一步研究协程以改进效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这两天把爬虫重新捡起来了,顺便看了下多线程和协程,重新写了单线程多线程以及协程版本的爬虫爬取豆瓣电影TOP250.

 

单线程版本:

import requests
from lxml import etree
import re
from time import time

def get_page():
	i = 0
	pages = []
	while i <= 225:
		url = 'https://movie.douban.com/top250?start={}&filter='.format(i)
		pages.append(url)
		i = i + 25
	return pages

def fetch_page(url):
	send_headers={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36",
			"Connection":"keep-alive",
			"Accept":"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",
			"Accept-Language":"zh-CN,zh;q=0.8"}
	response = requests.get(url, headers=send_headers)
	return response

def parse():
	pages = get_page()
	result = []
	for url in pages:
		response = fetch_page(url)
		html = etree.HTML(response.text)
		movie_name = '//
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值