Python from novice when reptiles are the easiest way to start, the following is some common basis for practice.
""" 简单的循环处理 """ import requests url_list = [ "https://www.baidu.com", "https://www.cnblogs.com/" ] for url in url_list: result = requests.get(url) print(result.text) """ 线程池处理 """ import requests from concurrent.futures import ThreadPoolExecutor def fetch_request(url): result = requests.get(url) print(result.text) url_list = [ "https://www.baidu.com/" , "https://www.cnblogs.com/" ] the pool = ThreadPoolExecutor ( 10 ) for url in URL_LIST: # thread pool threads get executed fetch_request method pool.submit (fetch_request , url) # close the thread pool pool.shutdown () "" " thread pool + callback " "" Import Requests from concurrent.futures Import ThreadPoolExecutor DEF fetch_async ( url ): the Response = requests.get ( url ) return the Response DEF callback (future): print(future.result().text) url_list = [ "https://www.baidu.com/", "https://www.cnblogs.com/" ] pool = ThreadPoolExecutor(10) for url in url_list: v = pool.submit(fetch_async, url) # 调用回调函数 v.add_done_callback(callback) pool.shutdown() """ 进程池处理 """ import requests from concurrent.futures import ProcessPoolExecutor def fetch_requst(url): result = requests.get(url) print(result.text) url_list = [ "https://www.baidu.com/", "https://www.cnblogs.com/" ] if __name__ == '__main__': pool = ProcessPoolExecutor(max_workers=10) for url in url_list: pool.submit(fetch_requst, url) pool.shutdown() """ 进程池+回调函数 """ import requests from concurrent.futures import ProcessPoolExecutor def fetch_async(url): response = requests.get(url) return response def callback(future): print(future.result().text) url_list = [ "https://www.baidu.com/", "https://www.cnblogs.com/" ] if __name__ == '__main__': pool = ProcessPoolExecutor(10) for url in url_list: v = pool.submit(fetch_async, url) v.add_done_callback(callback) pool.shutdown()