【发布时间】:2019-09-16 08:26:29
【问题描述】:
在 python3 中,我想从website 中提取表格的所有文本内容。但是信息的组织方式不是用常规的table,而是用tr、td、span
信息在屏幕上的“Movimentações”块上
开始提取的程序:
import requests
from bs4 import BeautifulSoup
import urllib3; urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
res = requests.get("https://esaj.tjsp.jus.br/cpopg/show.do?processo.codigo=2S000YR9Q0000&processo.foro=100&paginaConsulta=2&conversationId=&dadosConsulta.localPesquisa.cdLocal=100&cbPesquisa=NMPARTE&dadosConsulta.tipoNuProcesso=UNIFICADO&dadosConsulta.valorConsulta=Google&uuidCaptcha=&pbEnviar=Pesquisar", verify=False)
soup = BeautifulSoup(res.content,'lxml')
# I get a numeric code to organize what will be extracted
num_processo = soup.select_one('td:has(>.labelClass:contains("Processo:")) + td').text.strip() if soup.select_one('td:has(>.labelClass:contains("Assunto:")) + td') is not None else 'N/A'
# This is where the table is
table = soup.find_all("tbody",{"id":"tabelaUltimasMovimentacoes"})
我想只提取行中的所有文本并像这样组织它(以第一行为例):
[{"num_processo": num_processo,
"text": "22/04/2019 Certidão de Publicação Expedida
Relação :0130/2019 Data da Disponibilização: 22/04/2019 Data da Publicação: 23/04/2019 Número do Diário: 2792 Página: 402/420
16/04/2019 Remetido ao DJE
Relação: 0130/2019 Teor do ato: Ante o exposto, julgo PROCEDENTES os pedidos, com resolução do mérito, nos termos do artigo 487, inciso I, do Código de Processo Civil, para que procedam as requeridas GOOGLE e FACEBOOK, respectivamente, à remoção da página sustentadas nas URL https://www.youtube.com/channel/UCOMI2Kd2YtfpicY5UJXiXhg e https://www.facebook.com/leiamirandaoficial1/, bem como forneça os IPs sob sua guarda, dos usuários responsáveis pela criação e acessos administrativos das páginas, com a identificação da data e horário destes, confirmando a tutela de urgência. Cada parte arcará com os honorários advocatícios de seus próprios patronos e com as custas e despesas a que estão ordinariamente obrigadas, ante a ausência de pretensão resistida, pois necessária a intervenção judicial, como acima delineado. Transitada em julgado, ao arquivo, dando-se baixa na distribuição. P.I.C. Advogados(s): Celso de Faria Monteiro (OAB 138436/SP), Fabio Rivelli (OAB 297608/SP), Rafael Gomes Anastacio (OAB 320579/SP)
09/04/2019 Julgada Procedente a Ação
Ante o exposto, julgo PROCEDENTES os pedidos, com resolução do mérito, nos termos do artigo 487, inciso I, do Código de Processo Civil, para que procedam as requeridas GOOGLE e FACEBOOK, respectivamente, à remoção da página sustentadas nas URL https://www.youtube.com/channel/UCOMI2Kd2YtfpicY5UJXiXhg e https://www.facebook.com/leiamirandaoficial1/, bem como forneça os IPs sob sua guarda, dos usuários responsáveis pela criação e acessos administrativos das páginas, com a identificação da data e horário destes, confirmando a tutela de urgência. Cada parte arcará com os honorários advocatícios de seus próprios patronos e com as custas e despesas a que estão ordinariamente obrigadas, ante a ausência de pretensão resistida, pois necessária a intervenção judicial, como acima delineado. Transitada em julgado, ao arquivo, dando-se baixa na distribuição. P.I.C.
09/04/2019 Conclusos para Sentença
08/04/2019 Petição Juntada
Nº Protocolo: WJMJ.19.40477877-0 Tipo da Petição: Petições Diversas Data: 08/04/2019 15:22
08/04/2019 Conclusos para Despacho
03/04/2019 Petição Juntada
Nº Protocolo: WJMJ.19.40451659-7 Tipo da Petição: Petições Diversas Data: 03/04/2019 13:22"}]'
这里是“tabelaUltimasMovimentacoes”里面的部分代码HTML
<tbody id="tabelaUltimasMovimentacoes">
<tr class="fundoClaro" style="">
<td style="vertical-align: top" width="120">
22/04/2019
</td>
<td aria-hidden="true" valign="top" width="20">
</td>
<td style="vertical-align: top; padding-bottom: 5px">
Certidão de Publicação Expedida
<br/>
<span style="font-style: italic;">
Relação :0130/2019
Data da Disponibilização: 22/04/2019
Data da Publicação: 23/04/2019
Número do Diário: 2792
Página: 402/420
</span>
</td>
</tr>
<tr class="fundoEscuro" style="">
<td style="vertical-align: top" width="120">
16/04/2019
</td>
<td aria-hidden="true" valign="top" width="20">
</td>
<td style="vertical-align: top; padding-bottom: 5px">
Remetido ao DJE
<br/>
<span style="font-style: italic;">
Relação: 0130/2019
Teor do ato: Ante o exposto, julgo PROCEDENTES os pedidos, com resolução do mérito, nos termos do artigo 487, inciso I, do Código de Processo Civil, para que procedam as requeridas GOOGLE e FACEBOOK, respectivamente, à remoção da página sustentadas nas URL https://www.youtube.com/channel/UCOMI2Kd2YtfpicY5UJXiXhg e https://www.facebook.com/leiamirandaoficial1/, bem como forneça os IPs sob sua guarda, dos usuários responsáveis pela criação e acessos administrativos das páginas, com a identificação da data e horário destes, confirmando a tutela de urgência. Cada parte arcará com os honorários advocatícios de seus próprios patronos e com as custas e despesas a que estão ordinariamente obrigadas, ante a ausência de pretensão resistida, pois necessária a intervenção judicial, como acima delineado. Transitada em julgado, ao arquivo, dando-se baixa na distribuição. P.I.C.
Advogados(s): Celso de Faria Monteiro (OAB 138436/SP), Fabio Rivelli (OAB 297608/SP), Rafael Gomes Anastacio (OAB 320579/SP)
</span>
</td>
</tr>
请问,有人知道我如何提取所有文本并创建字典吗?
【问题讨论】:
-
我建议对堆栈溢出进行更仔细的搜索。有几个现有问题的答案与您的问题密切相关,可以帮助您解决问题。 stackoverflow.com/questions/5815747/beautifulsoup-getting-href
标签: python web-scraping html-table