我需要从这个网站" http://www.oab.org.br/institucionalconselhofederal/quadroadvogados"做一个表格webscrap。里面有三个div:Quantitativo Total,Quantitativo Genero,Quantitativo por Faixa etaria。
from bs4 import BeautifulSoup
import requests
page = requests.get("http://www.oab.org.br/institucionalconselhofederal/quadroadvogados")
soup = BeautifulSoup(page.content, 'html.parser')
dados = []
for body in soup.findAll('tbody'):
dados.append(body.text)
print dados[0]
print dados[1]
print dados[2]
我的结果 dados [0]:AC
3.121
22
296
3.439
AL
10.071
84
472
10.627
dados [1] AL
4.527
5.544
31
53
136
336
10.627
AP
1.254
1.406
120
94
105
288
3.267
dados[2] AC
Até 25 Anos
116
88
204
De 26 à 40 Anos
615
614
1.229
De 41 à 59 Anos
401
573
974
De 60 Anos ou Mais
189
525
714
AL
Até 25 Anos
453
361
814
De 26 à 40 Anos
2.716
2.616
5.332
De 41 à 59 Anos
954
1.416
2.370
De 60 Anos ou Mais
404
1.151
1.555
我的问题是如何在原始页面中打印和导出这些数据,格式化和美观? 请求帮助,我是网络管理员尝试在python中开始学习编程
答案 0 :(得分:0)
您只能抓取数据,而不是格式化。将表保存到excel
时,您可以手动刷表。
你可以从:
import pandas as pd
df = pd.read_html('http://www.oab.org.br/institucionalconselhofederal/quadroadvogados')
d0=df[0]
但这只适用于第一张桌子。
答案 1 :(得分:0)
from bs4 import BeautifulSoup
import requests
page = requests.get("http://www.oab.org.br/institucionalconselhofederal/quadroadvogados")
soup = BeautifulSoup(page.content, 'html.parser')
dados = {}
for k, body in enumerate(soup.findAll('tbody')):
dados['table' + str(k)] = []
for tr in body.find_all('tr'):
tmp = tuple()
th = tr.find('th')
if th:
th = tr.find('th').text.strip()
tmp += (th,)
for td in tr.find_all('td'):
tmp += (td.text.strip(),)
dados['table' + str(k)].append(tmp)
print dados