Como imprimir esta lista em DataFrame -Python / BeautifulSoup
Oct 22 2020
A saída para este código imprime cada linha no site fornecido abaixo.
No entanto, também inclui as tags. Essencialmente, gostaria de imprimir todas as linhas em um dataFrame, que posso colocar no Excel.
.text não funcionaria porque estou usando find_all, pois há tags que se repetem no nome.
Como seria o processo de remoção das tags indesejadas e, em seguida, ter a lista em um DF, replicando o site?
Obrigado.
import requests
from bs4 import BeautifulSoup
import pandas as pd
productlinks=[]
r=requests.get(url)
soup= BeautifulSoup(r.content,'html.parser')
content=soup.find_all('tr')
for item in content:
title=item.find_all('td')
print(title)
Respostas
1 AndrejKesely Oct 22 2020 at 04:03
A maneira mais fácil é usar pandas.read_html:
import pandas as pd
url='https://sitc.sitcancer.org/2020/abstracts/titles/'
df = pd.read_html(url)[0]
print(df)
df.to_csv('data.csv', index=False)
Impressões:
# ... Keywords
0 1 ... Adoptive immunotherapy; Monocyte/Macrophage; T...
1 2 ... CAR T cells; Immune monitoring; Inflammation; ...
2 3 ... Antibody; Biomarkers; Immune monitoring; T cel...
3 4 ... Biomarkers; RNA; Solid tumors; Tumor microenvi...
4 5 ... Antibody; B cell; Biomarkers; Immune monitorin...
.. ... ... ...
730 752 ... Gene expression; Neoantigens; Regulatory T cel...
731 753 ... Gene expression; Neoantigens; Regulatory T cel...
732 754 ... Biomarkers; Chemokine; Chemotherapy; Costimula...
733 755 ... Chemokine; Granulocyte; Myeloid cells; MDSC; T...
734 756 ... Gene expression; Immune contexture; Immune sup...
[735 rows x 6 columns]
E salva data.csv(captura de tela do LibreOffice):
O que significa um erro “Não é possível encontrar o símbolo” ou “Não é possível resolver o símbolo”?
Christopher Nolan uma vez se arrependeu de ter lido o 'roteiro de Pulp Fiction' de Quentin Tarantino