使用python多线程池API解析多个链接

时间:2019-06-07 11:00:18

标签: python python-requests python-multiprocessing python-multithreading python-pool

我正在使用python多线程池API /函数,

p = multithreading.pool( NO.OF REQUESTS AT A TIME ) 
p.map ( function , iterator )

根据我的研究,pool函数中的参数告诉我们“您一次要解析多少个请求”。 所以我想知道一个参数“一次请求的数量”的确切含义/解释,请记住这个含义是根据我的研究,可能是错误的。

实际上,我有1500个URL,我想用更少的时间解析/提取信息,因为使用常规方法会花费太多时间。

我一次尝试使用0-50解析/请求,但效果很好,但是当我尝试做得更高时,它不会给我带来那么快的结果。

#!/usr/bin/python
# -*- coding: utf-8 -*-


def prices_models_location(i):

    prices = []
    models = []
    location = []
    req = requests.get(i)
    soup = BeautifulSoup(req.content, 'html.parser')
    price = soup.find('span', {'itemprop': 'price'})
    model = soup.find('h2', {'itemprop': 'model'})
    loc = soup.find('span', {'itemprop': 'availableAtOrFrom'})

    return (prics, loc, model)
p = pool.Pool(50)
Price_location_model = [p.map(prices_models_location, user_sec[0])]

# p.terminate()
# p.join()

0 个答案:

没有答案