Reputation:
I would need to collect into different arrays some data from this link:
https://it.wikipedia.org/wiki/Suffissi_della_lingua_italiana
In particular, I would be interested in Suffisso
and Significato
columns for each table (Suffissi aggettivali, Suffissi verbali, Suffissoidi,
and Suffissi nominali
).
Please see picture below as an example. Suffissi aggettivali/Suffissi verbali/ Suffissoidi/and Suffissi nominali
should be the lists' names: each of them should contain Suffisso
and its related Significato
.
Something like this:
Suffissi_aggettivali={Suffisso -> Significato...}, i.e. {-ale -> '', -ambulo -> camminare, deambulare,
and so on}.
I have tried with this:
suffix = "https://it.wikipedia.org/wiki/Suffissi_della_lingua_italiana"
df = pd.read_html(suffix, header=0)
But I do not know how to extract that information, so I hope you can help me giving advices on how to go on.
Thanks
Upvotes: 0
Views: 66
Reputation: 33384
Use pd.read_html()
to read all tables
from url
.
Then verify the column name and load column values into list.
Code:
dfs=pd.read_html("https://it.wikipedia.org/wiki/Suffissi_della_lingua_italiana")
for df in dfs:
if (df.columns[0]=='Suffisso') and (df.columns[1]=='Significato'):
print(df['Suffisso'].values.tolist())
print(df['Significato'].values.tolist())
Output:
['-accio[1]', '-aggine[1]', '-aggio[1]', '-aglia[1]', '-aio[1]', '-ame[1]', '-ano', '-anza[1]', '-asco', '-astro[1]', '-ata[1]', '-ato[1]', '-azzo[1]', '-enza[1]', '-eria[1]', '-esco[1]', '-ese', '-età[1]', '-etto[1]', '-ezza[1]', '-fero[1]', '-icciolo[1]', '-iere[1]', '-ino[1]', '-ino[1]', '-iolo', '-ismo[1]', '-ista[1]', '-ità[1]', '.mw-parser-output .chiarimento{background:#ffeaea;color:#444444}.mw-parser-output .chiarimento-apice{color:red}-legio[senza\xa0fonte]', '-mento[1]', '-oide[1]', '-one[1]', '-osi[1]', '-ota[1]', '-oto[2]', '-otto[1]', '-tore[1]', '-tura[senza\xa0fonte]', '-uccio[1]', '-ucolo[1]', '-ume[1]', '-uto[1]', '-uzzo', '-zione[1]']
['peggiorativo', '...', '...', 'valore collettivo e spregiativo', 'agentivo', '...', 'abitante', '...', 'abitante', 'peggiorativo', "deverbale astratto o concreto: indica l'atto espresso dal verbo", 'sali ed esteri derivati da acidi', 'dispregiativo', '...', 'negozio, laboratirio, attività commerciale', 'di relazione, con valore referenziale o spregiativo', 'abitante', '...', 'diminutivo, vezzeggiativo', '...', 'che porta', 'diminutivo', '...', 'agentivo o strumentale', 'diminutivo; abitante', '...', '...', 'agentivo', '...', 'raccogliere', "deverbale astratto o concreto: indica l'atto espresso dal verbo", 'simile a', 'accrescitivo', 'condizione, stato, processo', 'abitante', 'abitante', 'vezzeggiativo', 'agentivo o strumentale', "deverbale astratto o concreto: indica l'atto espresso dal verbo", 'diminutivo affettivo o peggiorativo', 'valutativo', '...', '...', 'diminutivo affettivo o peggiorativo', "deverbale astratto o concreto: indica l'atto espresso dal verbo"]
['-ale[1]', '-ambulo[senza\xa0fonte]', '-ario[1]', '-bile[senza\xa0fonte]', '-ese[1]', '-evole[1]', '-frago[1]', '-fugo[1]', '-ico[1]', '-issimo[1]', '-oso[1]', '-ota[1]', '-oto[2]', '-vago', '-tivo[senza\xa0fonte]', '-torio[senza\xa0fonte]']
['...', 'camminare, deambulare', '...', 'passivo', '...', '...', 'che rompe', 'che fugge, che evita', '...', 'suffisso intensivo', '...portatore di...', 'abitante', 'abitante', 'che desidera, che si muove', '...', '...']
['-are[1]', '-arsi', '-ere[1]', '-ersi', '-arre', '-orre', '-orsi', '-urre', '-ursi', '-ire[1]', '-irsi']
['suffisso dei verbi alla prima coniugazione', 'suffisso dei verbi alla prima coniugazione ed dei verbi terminanti alla coniugazione irregolare in "-arre" per il riflessivo', 'suffisso dei verbi alla seconda coniugazione', 'suffisso dei verbi alla seconda coniugazione per il riflessivo', 'suffisso dei verbi terminanti alla coniugazione irregolare "-arre"', 'suffisso dei verbi terminanti alla coniugazione irregolare "-orre"', 'suffisso dei verbi terminanti alla coniugazione irregolare in "-orre" per il riflessivo', 'suffisso dei verbi terminanti alla coniugazione irregolare "-urre"', 'suffisso dei verbi terminanti alla coniugazione irregolare in "-urre" per il riflessivo', 'suffisso dei verbi alla terza coniugazione', 'suffisso dei verbi alla terza coniugazione per il riflessivo']
['-mente[1]', '-oni[1]']
['in modo, in maniera', 'in modo, in maniera']
Upvotes: 1
Reputation: 400
The following code would help in working towards a solution. One can keep changing the tables[x] from x = 0 to 4 and then see what information is required and build from there.
from bs4 import BeautifulSoup
import requests
response = requests.get('https://it.wikipedia.org/wiki/Suffissi_della_lingua_italiana')
soup = BeautifulSoup(response.text, 'html.parser')
tables = soup.findAll("table", attrs={"class": "wikitable"})
table = tables[0]
rows = table.findAll('tr')
rowData = [[td.findChildren(text=True) for td in tr.findAll("td")] for tr in rows]
#sample output
rowData[1]
[[u'-accio', u'[1]', u'\n'],
[u'peggiorativo\n'],
[u'deriva da un sostantivo\n'],
[u'cagnaccio', u'\n']]
Hope it helps
Upvotes: 1