首页 > 解决方案 > 错误:WebElement 没有属性替换

问题描述

我已经从 3 个不同的网站构建了 3 个不同的爬虫,以自动搜索不同公司的特定功能。我已使用以下代码通过线程池进行并行执行

for idx,row in df.iterrows():
    try:
        company_name = row.project_name
        if idx % 50 == 0:

#             ms.exit()
            ms = moneyhouseScraper()
            dnb = dnbScraper()
            f = facebookScraper()


        with ThreadPoolExecutor() as executor:
            moneyhouse_res = executor.submit(ms.get_info, company_name)
            time.sleep(7)
            dnb_res = executor.submit(dnb.get_annual_revenue, company_name)
            time.sleep(7)
            f_res = executor.submit(f.get_facebook_info, company_name)

            res = moneyhouse_res.result()
            get_data_info(idx,df,res)
            df.loc[idx,'annual_revenue'] = dnb_res.result()
            res_fb = f_res.result()
            get_data_info(idx, df, res_fb)
            

    except Exception as e:
        print('Exception: ',e)
        pass
    if idx == 4 :
        
        break

请注意,每个刮板都可以单独工作,输出是特征列表。然而,整个代码的输出是

MoneyHouse:<selenium.webdriver.remote.webelement.WebElement (session="9ec6152d4aaab716ee832d5080848a04", element="bfaae532-e2d7-4837-ac89-06126d815935")> 网址https://www.facebook.com/JDHDirecte/?__tn__= %3C 异常:“WebElement”对象没有属性“replace”

随后的每个抓取工具(Facebook 和 DnB 的)都能够进入我希望抓取的公司的页面,但没有进行抓取,并且没有将任何列添加到最终输出中。

标签: pythonmultithreadingseleniumweb-scrapingthreadpool

解决方案


推荐阅读