python 多进程 get

本文介绍了一个使用Python的requests库及多进程池实现的简单并发爬虫案例。该爬虫能够同时从多个URL抓取网页数据,并通过打印状态码和页面内容来验证抓取的成功与否。此外,还涉及了如何在多线程环境中使用锁来避免数据冲突。

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

import requests;
from multiprocessing import Pool;
import os;

import threading;
lock = threading.Lock();

def getData(url):
    #lock.acquire();    # 不加锁则是碰撞测试
    r = requests.get(url);
    print(r.status_code);
    print(r.text);
    #lock.release();

def run_proc(name):
    print('Run child process %s %s' %(name, os.getpid() ) );
    getData("http://localhost:8080/taservice/ecm/getAvailableOnebyComponent?component=android");

if __name__ == '__main__':
    p = Pool(20);
    for i in range(20):
        p.apply_async(run_proc, args=(i,) );
    print('Begin to test...');
    p.close();
    p.join();
    print('Test End.');
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值