-
Notifications
You must be signed in to change notification settings - Fork 0
/
wikipedia.py
53 lines (38 loc) · 1.28 KB
/
wikipedia.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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
import requests
from bs4 import BeautifulSoup
url = 'https://pt.wikipedia.org/wiki/Ma%C3%A7%C3%A3'
req = requests.get(url)
dom = BeautifulSoup(req.text, 'lxml')
arquivo = open('scraping.txt', 'a')
# titulo = dom.select_one('h1#firstHeading')
titulo = dom.find('h1', {
'id': 'firstHeading',
'class': 'firstHeading' })
print('titulo', titulo.text)
arquivo.write(titulo.text + '\n')
conteudo = dom.select_one('#mw-content-text > div > p')
# pai = dom.find('div', { 'id': 'mw-content-text' })
# filho = pai.find('div')
# conteudo = filho.find('p')
print('conteudo', conteudo.text)
arquivo.write(conteudo.text + '\n')
indices = dom.select('#toc > ul span.toctext')
print('indices')
arquivo.write('indices' + '\n')
for indice in indices:
print(indice.text)
arquivo.write(indice.text + '\n')
'''
subtitulo = dom.select_one('.mw-headline')
print('subtitulo', subtitulo.text)
conteudo_subtitulo = subtitulo.parent.find_next_sibling('p')
print('conteudo subtitulo', conteudo_subtitulo.text)
'''
subtitulos = dom.select('.mw-headline')
for subtitulo in subtitulos:
print('SUBTITULO ->', subtitulo.text)
arquivo.write(subtitulo.text + '\n')
conteudo = subtitulo.parent.find_next_sibling('p')
print('CONTEUDO', conteudo.text)
arquivo.write(conteudo.text + '\n')
arquivo.close()