forked from ericbrasiln/ferramentas_scielo
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrevistas_pdf.py
37 lines (35 loc) · 1.63 KB
/
revistas_pdf.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
from urllib.request import urlopen, HTTPError
from bs4 import BeautifulSoup
from artigos_scraper import*
import re
import os
def dadosRevista(revista): #função para acessar os dados de cada revista
nomeRevista = revista.findNext('a').text
pasta = re.sub(r"\s+", "", nomeRevista)
pastaScielo = os.path.join('scielo/pdf',pasta)
print(nomeRevista)
if not os.path.exists(pastaScielo):
os.makedirs(f'{pastaScielo}')
link = revista.findNext('a')['href']
linkIssues = link.replace('serial', 'issues')
req1 = urlopen(linkIssues)
bs = BeautifulSoup(req1.read(), "lxml")
tabelaContent = bs.find('div', {'class': 'content'})
tableIssues = tabelaContent.find('table', {'bordercolor':'#c0c0c0'})
issues = tableIssues.find('tbody')
issuesItens = issues.find_all('tr')
for itemFinal in issuesItens:
rasparArtigo(itemFinal, pastaScielo, nomeRevista, linkIssues)
else: #se a pasta da revista já existir, o script vai baixar apenas os dados dos artigos para inserir no CSV
print(nomeRevista)
print('-=- Pasta exixtente. -=-\n')
link = revista.findNext('a')['href']
linkIssues = link.replace('serial', 'issues')
req1 = urlopen(linkIssues)
bs = BeautifulSoup(req1.read(), "lxml")
tabelaContent = bs.find('div', {'class': 'content'})
tableIssues = tabelaContent.find('table', {'bordercolor':'#c0c0c0'})
issues = tableIssues.find('tbody')
issuesItens = issues.find_all('tr')
for itemFinal in issuesItens:
dadosArtigo(itemFinal, pastaScielo, nomeRevista, linkIssues)