【问题标题】:Want to get email using pandas想使用 pandas 接收电子邮件
【发布时间】:2022-07-26 03:48:21
【问题描述】:
import pandas as pd
df=pd.read_html(\'http://www.advpalata28.ru/reestr/reestr-advokatov/\')

df[0].to_excel(\"link14.xlsx\",encoding=\'utf-8\')

我只想从这些文本中获取email,这些是页面链接http://www.advpalata28.ru/reestr/reestr-advokatov/

676740, Амурская обл, Архара пгт, Ленина ул, 76 E-mail: advokat527@mail.ru

    标签: python pandas web-scraping beautifulsoup html-table


    【解决方案1】:

    您可以在Адрес места работы 列中按E-mail: 拆分

    df['Email'] = df['Адрес места работы'].str.split('E-mail: ').str[1]
    

    【讨论】:

    • TypeError:列表索引必须是整数或切片,而不是 str
    • 他们给出了这些错误
    【解决方案2】:

    TypeError 来自:

    df=pd.read_html('http://www.advpalata28.ru/reestr/reestr-advokatov/')
    

    它返回一个 DataFrames 列表,而不是您预期的 DataFrame。该列表仅包含一个 DataFrame,因此使用以下代码应该可以工作:

    import pandas as pd
    
    df=pd.read_html('http://www.advpalata28.ru/reestr/reestr-advokatov/')
    df = df[0]
    df['Email'] = df[5].str.split('E-mail: ').str[1]
    
    df.to_excel("link14.xlsx",encoding='utf-8')
    

    【讨论】:

      【解决方案3】:

      适当的解决方案将基于正则表达式 - 提取电子邮件地址并将它们放在新列中。以下代码提取电子邮件地址,并创建一个包含结果的 csv 文件:

      import pandas as pd
      import re
      
      dfs = pd.read_html('http://www.advpalata28.ru/reestr/reestr-advokatov/')
      df = dfs[0]
      new_header = df.iloc[0]
      df = df[1:]
      df.columns = new_header
      df['email'] = df.apply( lambda row: ''.join(re.findall("([a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+)", str(row['Адрес места работы']))), axis=1)
      df.to_csv('email_addresses.csv')
      print(df.head())
      

      结果:

          № п/п   Ф.И.О., № удостоверения Удостоверение   Рег. №  Место работы    Адрес места работы  Телефон email
      1   NaN Архаринский р-н NaN NaN NaN NaN NaN 
      2   1   Корякина Елена Николаевна   №615 от 10.03.16    28/527  Адвокатский кабинет 676740, Амурская обл, Архара пгт, Ленина ул, 7...   м. 89638027570  advokat527@mail.ru
      3   2   Матвейко Марина Валентиновна    №616 от 10.03.16    28/528  Адвокатский кабинет 675000, Амурская обл, Архара пгт, Ленина ул, 9...   м.89622949042   satin772@yandex.ru
      4   3   Руднев Анатолий Леонтьевич  №335 от 17.06.05    28/324  Адвокатский кабинет 676740, Амурская обл, Архара пгт, Калинина ул,...   м.89622949506   19rudnev63@gmail.com
      5   NaN Белогорск   NaN NaN NaN NaN NaN 
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-08-02
        相关资源
        最近更新 更多