daily pastebin goal
1%
SHARE
TWEET

Untitled

a guest Jan 21st, 2019 52 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. {
  2.  "cells": [
  3. {
  4.    "cell_type": "code",
  5.    "execution_count": 2,
  6.    "metadata": {},
  7.    "outputs": [
  8.     {
  9.      "name": "stdout",
  10.      "output_type": "stream",
  11.      "text": [
  12.       "14 - CV Lattes para avaliação\n"
  13.      ]
  14.     }
  15.    ],
  16.    "source": [
  17.     "#importar lista e lattes do arquivo listalattes.xlsx\n",
  18.     "list_lattes = pd.read_excel('listalattes.xlsx', header= None, index_col= None)   \n",
  19.     "list_lattes = list_lattes[0]\n",
  20.     "print(len(list_lattes), '- CV Lattes para avaliação')"
  21.    ]
  22.   },
  23.   {
  24.    "cell_type": "code",
  25.    "execution_count": 3,
  26.    "metadata": {},
  27.    "outputs": [
  28.     {
  29.      "name": "stdout",
  30.      "output_type": "stream",
  31.      "text": [
  32.       "Linhas Prod de  Andreza Portella Ribeiro :  37\n",
  33.       "Linhas Prod de  Carlos Leite de Souza :  53\n",
  34.       "Linhas Prod de  Cintia Elisa de Castro Marino :  0\n",
  35.       "Linhas Prod de  Cristiano Capellani Quaresma :  17\n",
  36.       "Linhas Prod de  Diego de Melo Conti :  13\n",
  37.       "Linhas Prod de  Heidy Rodriguez Ramos :  40\n",
  38.       "Linhas Prod de  Humberto Dantas de Mizuca :  52\n",
  39.       "Linhas Prod de  João Alexandre Paschoalin Filho :  34\n",
  40.       "Linhas Prod de  José Eduardo Storopoli :  19\n",
  41.       "Linhas Prod de  Jose Ricardo Marar :  1\n",
  42.       "Linhas Prod de  Luís Fernando Massonetto :  11\n",
  43.       "Linhas Prod de  Maurício Lamano Ferreira :  39\n",
  44.       "Linhas Prod de  Tatiana Tucunduva Philippi Cortese :  17\n",
  45.       "Linhas Prod de  Wilson Levy Braga da Silva Neto :  28\n"
  46.      ]
  47.     }
  48.    ],
  49.    "source": [
  50.     "prod_df = pd.DataFrame()\n",
  51.     "for row in list_lattes:\n",
  52.     "    url = row\n",
  53.     "    page = requests.get(url)\n",
  54.     "    #Parse o HTML\n",
  55.     "    soup = BeautifulSoup(page.text, 'html.parser')\n",
  56.     "    #Achar nome do titular do CV Lattes\n",
  57.     "    name = soup.find(class_='nome')\n",
  58.     "    name = name.text\n",
  59.     "    #Achar todos os artigos completos publicados em periodicos\n",
  60.     "    tb = soup.find_all('div', class_='artigo-completo') \n",
  61.     "    #fazer uma lista com cada um dos anos e ISSN\n",
  62.     "    ano=[]\n",
  63.     "    for i in tb:\n",
  64.     "        inf_ano = i.find_all('span', class_='informacao-artigo')[2]\n",
  65.     "        ano.append(inf_ano.text)\n",
  66.     "    issn=[]\n",
  67.     "    for i in tb:\n",
  68.     "        try:\n",
  69.     "            inf_issn = i.img.get('data-issn')\n",
  70.     "        except AttributeError:\n",
  71.     "            issn.append(None)\n",
  72.     "        else:\n",
  73.     "            issn.append(inf_issn)\n",
  74.     "    #fazer uma lista com cada um dos artigos completos\n",
  75.     "    prod = []\n",
  76.     "    for i in tb:\n",
  77.     "        prod.append(i.text)\n",
  78.     "    print('Linhas Prod de ', name, ': ', len(prod))\n",
  79.     "    #remover duplicados de cada artigo\n",
  80.     "    prod = [re.sub('\\n\\d{1,2}\\.', '', i) for i in prod]\n",
  81.     "    prod = [re.sub('\\n', '', i) for i in prod]\n",
  82.     "    prod = [re.sub('.*\\.\\d{4}', '',i) for i in prod]\n",
  83.     "    prod = [re.sub('\\d{1,2}\\w*\\,\\s\\w*\\B\\d{4}', '',i) for i in prod]\n",
  84.     "    prod = [re.sub('\\d{1,2}\\w{2,}\\s\\w{2,}\\d{4}', '',i) for i in prod]\n",
  85.     "    prod = [re.sub('\\w{2,}\\s\\w{2,}\\,\\s[\\wÀ-ú]*\\d{4}', '',i) for i in prod]\n",
  86.     "    prod = [re.sub('\\w{2,}\\,\\s[\\wÀ-ú]*\\s[\\wÀ-ú]*\\d{4}', '',i) for i in prod]\n",
  87.     "    #duplicar o nome para o tamanho da lista dos artigos publicados\n",
  88.     "    name_list = [name] * len(prod)\n",
  89.     "    new_df = pd.DataFrame(\n",
  90.     "    {'Nome': name_list,\n",
  91.     "     'Ano': ano,\n",
  92.     "     'ArtigosCompletos': prod,\n",
  93.     "     'ISSN': issn\n",
  94.     "    })\n",
  95.     "    prod_df = prod_df.append(new_df, ignore_index=True)"
  96.    ]
  97.   }
  98.   ],
  99.     "metadata": {
  100.   "kernelspec": {
  101.    "display_name": "Python 3",
  102.    "language": "python",
  103.    "name": "python3"
  104.   },
  105.   "language_info": {
  106.    "codemirror_mode": {
  107.     "name": "ipython",
  108.     "version": 3
  109.    },
  110.    "file_extension": ".py",
  111.    "mimetype": "text/x-python",
  112.    "name": "python",
  113.    "nbconvert_exporter": "python",
  114.    "pygments_lexer": "ipython3",
  115.    "version": "3.6.8"
  116.   }
  117.  },
  118.  "nbformat": 4,
  119.  "nbformat_minor": 2
  120. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top