我有一个程序,可以使用 beautifulsoup 打开一长串网页,并从中提取数据。
显然它相当慢,因为它必须等待每个任务完成。我想让它一次检索多个以加快速度。
我知道Python中的多线程很多时候比使用单线程慢。 什么是最好的呢?多线程还是创建多处理?
最佳答案
这是使用 scrapy 的主要原因之一,scrapy 建立在twisted 库之上,可以使 http 调用异步而不使用多线程和多处理
一个好的起点可以是优秀的 scrapy tutorial
还值得注意的是,在多核环境中进行大量 CPU 计算时,多线程/处理通常是正确的方法,但是当涉及并行 IO 操作时,您最好选择异步编程解决方案,而不是让线程阻塞等待在占用系统资源的同时进行某些 IO 操作。
关于python - 在Python中使用BeautifulSoup打开页面的多线程或多处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21166849/