将每次迭代保存在新行中
Save each iteration in a new line
朋友们!我有以下代码:
import requests
from bs4 import BeautifulSoup
# 1 - Importar a página (html):
início_url = 'https://www.conjugacao.com.br'
final_url = ["/verbo-ir","/verbo-ser"]
# 2 - Requisição:
nome_verbos = []
for final_url in final_url:
url = início_url + final_url
página = requests.get(url)
soup = BeautifulSoup(página.text, 'lxml')
for verbos_nomes in soup.find_all('h1', class_='nmt'):
nome_verbos.append(verbos_nomes.text)
for items in soup.find_all('span', class_='f irregular'):
nome_verbos.append(items.text)
for items in soup.find_all('span', class_='f'):
nome_verbos.append(items.text)
# 3 Salvar resultados:
with open('verbos.txt', 'w') as f:
for line in nome_verbos:
f.write(line.upper())
f.write(',')
这段代码的输出结果如下:
output: VERBO IR,VOU,VAIS,VAI,VAMOS,IDES,VÃO, VERBO SER,SOU,ÉS,É,SOMOS,SOIS,SÃO
我唯一需要做的就是找出如何像这样保存这个结果:
expected_output:
VERBO IR -> VOU, VAIS,VAI,VAMOS,IDES,VÃO
VERBO SER -> SOU,ÉS,É,SOMOS,SOIS,SÃO
有什么想法吗?
import requests
from bs4 import BeautifulSoup
patterns = [
'ir',
'ser'
]
def main(url):
with requests.Session() as req:
for pat in patterns:
r = req.get(url.format(pat))
soup = BeautifulSoup(r.text, 'lxml')
name = soup.select_one('.nmt').text
goal = [x.text for x in soup.select('.f, .irregular')]
print(f"{name} --> {', '.join(goal)}")
main('https://www.conjugacao.com.br/verbo-{}')
输出:
Verbo Ir --> vou, vais, vai, vamos, ides, vão, fui, foste, foi, fomos, fostes, foram, fora, foras, fora, fôramos, fôreis, foram, fosse, fosses, fosse, fôssemos, fôsseis, fossem, vá, vás, vá, vamos, vades, vão, for, fores, for, formos, fordes, forem, vai, vá, vamos, ide, vão, vás, vá, vamos, vades, vão
Verbo Ser --> sou, és, é, somos, sois, são, era, eras, era, éramos, éreis, eram, fui, foste, foi, fomos, fostes, foram, fora, foras, fora, fôramos, fôreis, foram, fosse, fosses, fosse, fôssemos, fôsseis, fossem, seja, sejas, seja, sejamos, sejais, sejam, for, fores, for, formos, fordes, forem, sê, seja, sejamos, sede, sejam, sejas, seja, sejamos, sejais, sejam
朋友们!我有以下代码:
import requests
from bs4 import BeautifulSoup
# 1 - Importar a página (html):
início_url = 'https://www.conjugacao.com.br'
final_url = ["/verbo-ir","/verbo-ser"]
# 2 - Requisição:
nome_verbos = []
for final_url in final_url:
url = início_url + final_url
página = requests.get(url)
soup = BeautifulSoup(página.text, 'lxml')
for verbos_nomes in soup.find_all('h1', class_='nmt'):
nome_verbos.append(verbos_nomes.text)
for items in soup.find_all('span', class_='f irregular'):
nome_verbos.append(items.text)
for items in soup.find_all('span', class_='f'):
nome_verbos.append(items.text)
# 3 Salvar resultados:
with open('verbos.txt', 'w') as f:
for line in nome_verbos:
f.write(line.upper())
f.write(',')
这段代码的输出结果如下:
output: VERBO IR,VOU,VAIS,VAI,VAMOS,IDES,VÃO, VERBO SER,SOU,ÉS,É,SOMOS,SOIS,SÃO
我唯一需要做的就是找出如何像这样保存这个结果:
expected_output:
VERBO IR -> VOU, VAIS,VAI,VAMOS,IDES,VÃO
VERBO SER -> SOU,ÉS,É,SOMOS,SOIS,SÃO
有什么想法吗?
import requests
from bs4 import BeautifulSoup
patterns = [
'ir',
'ser'
]
def main(url):
with requests.Session() as req:
for pat in patterns:
r = req.get(url.format(pat))
soup = BeautifulSoup(r.text, 'lxml')
name = soup.select_one('.nmt').text
goal = [x.text for x in soup.select('.f, .irregular')]
print(f"{name} --> {', '.join(goal)}")
main('https://www.conjugacao.com.br/verbo-{}')
输出:
Verbo Ir --> vou, vais, vai, vamos, ides, vão, fui, foste, foi, fomos, fostes, foram, fora, foras, fora, fôramos, fôreis, foram, fosse, fosses, fosse, fôssemos, fôsseis, fossem, vá, vás, vá, vamos, vades, vão, for, fores, for, formos, fordes, forem, vai, vá, vamos, ide, vão, vás, vá, vamos, vades, vão
Verbo Ser --> sou, és, é, somos, sois, são, era, eras, era, éramos, éreis, eram, fui, foste, foi, fomos, fostes, foram, fora, foras, fora, fôramos, fôreis, foram, fosse, fosses, fosse, fôssemos, fôsseis, fossem, seja, sejas, seja, sejamos, sejais, sejam, for, fores, for, formos, fordes, forem, sê, seja, sejamos, sede, sejam, sejas, seja, sejamos, sejais, sejam