Медленная очистка полотна для L oop - Python - PullRequest
0 голосов
/ 27 февраля 2020

Я пытаюсь почистить сайт SE C, чтобы получить данные о штаб-квартире компании. Функция находится ниже, и ее выполнение занимает слишком много времени. Есть ли лучший способ запустить его, чтобы сделать его быстрее и эффективнее? Большое спасибо!

def get_hq(cik):
    for i, row in Companies.iterrows():
        headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2810.1 Safari/537.36'}
        base_url = 'https://sec.report/CIK/{}'
        cik = Companies['CIK'][i]
        response_object = requests.get(base_url.format(cik), headers = headers)
        raw_html = html.fromstring(response_object.text)
        try:
            hq = raw_html.xpath('//tr[./td[contains(text(),"Business Address")]]/td[2]/text()')[0:]
            Companies['Headquarters'][i] = hq[0:]
        except:
            Companies['Headquarters'][i] = np.nan

...