首页 > 解决方案 > 如何在没有 \n 的情况下将项目添加到列表中?

问题描述

我需要从每个“href”中获取文本,然后添加到 aa 列表中。但是我没有成功处理'\ n'的分数。

projects = soup.find_all('div', 
class_ = 'col-xs-12 col-sm-6 col-md-3 col-lg-3 ajustar_fonte')

numbers = []
for item in projects:
    numbers.append(item.text)

print(numbers)

['\n\r\n                                        Projeto de Lei\r\n                                        N°\r\n                                        576\r\n                                        /2019\r\n                                    Processo N°:\r\n                                    6900\r\n                                    /2019', '\n\n\n\n\n\n\n\n\n\n\n\n', '\n\r\n                                        Projeto de Lei\r\n                                        N°\r\n                                        575\r\n                                        /2019\r\n                                    Processo N°:\r\n                                    6898\r\n                                    /2019', '\n\n\n\n\n\n\n\n\n\n\n\n', '\n\r\n                                        Projeto de Lei\r\n                                        N°\r\n                                        574\r\n                                        /2019\r\n                                    Processo N°:\r\n                                    6897\r\n                                    /2019', '\n\n\n\n\n\n\n\n\n\n\n\n', '\n\r\n                                        Projeto de Lei\r\n                                        N°\r\n                                        573\r\n                                        /2019\r\n                                    Processo N°:\r\n                                    6896\r\n                                    /2019', '\n\n\n\n\n\n\n\n\n\n\n\n', '\n\r\n                                        Indicação\r\n                                        N°\r\n                                        1769\r\n                                        /2019\r\n                                    Processo N°:\r\n                                    6895\r\n                                    /2019', '\n\n\n\n\n\n\n\n\n\n\n\n', '\n\r\n                                        Requerimento de Pesar\r\n                                        N°\r\n                                        91\r\n                                        /2019\r\n                                    Processo N°:\r\n                                    6894\r\n                                    /2019', '\n\n\n\n\n\n\n\n\n\n\n\n', '\n\r\n                                        Indicação\r\n                                        N°\r\n                                        1768\r\n                                        /2019\r\n                                    Processo N°:\r\n                                    6893\r\n                                    /2019', '\n\n\n\n\n\n\n\n\n\n\n\n', '\n\r\n                                        Indicação\r\n                                        N°\r\n                                        1767\r\n                                        /2019\r\n                                    Processo N°:\r\n                                    6892\r\n                                    /2019', '\n\n\n\n\n\n\n\n\n\n\n\n', '\n\r\n                                        Indicação\r\n                                        N°\r\n                                        1766\r\n                                        /2019\r\n                                    Processo N°:\r\n                                    6891\r\n                                    /2019', '\n\n\n\n\n\n\n\n\n\n\n\n', '\n\r\n                                        Projeto de Lei\r\n                                        N°\r\n                                        572\r\n                                        /2019\r\n                                    Processo N°:\r\n                                    6890\r\n                                    /2019', '\n\n\n\n\n\n\n\n\n\n\n\n']

标签: pythonbeautifulsoup

解决方案


这种方法怎么样:

import requests 
from bs4 import BeautifulSoup as bs 

headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36'}
response = requests.get('http://www3.al.es.gov.br/spl/consulta-producao.aspx', headers=headers)   
soup = bs(response.text, 'html.parser')

projects = soup.find_all('div', 
class_ = 'col-xs-12 col-sm-6 col-md-3 col-lg-3 ajustar_fonte')

numbers = []
for item in projects:
    tmp = item.text.replace('\n', '').replace('\r', '').strip() # getting rid of newline and carriage return characters
    if tmp != "": # some items will be empty strings, skipping them 
        numbers.append(' '.join(tmp.split())) # replacing multiple spaces with one

for i in numbers:
    print(i)

结果:

Projeto de Lei N° 576 /2019 Processo N°: 6900 /2019
Projeto de Lei N° 575 /2019 Processo N°: 6898 /2019
Projeto de Lei N° 574 /2019 Processo N°: 6897 /2019
Projeto de Lei N° 573 /2019 Processo N°: 6896 /2019
Indicação N° 1769 /2019 Processo N°: 6895 /2019
Requerimento de Pesar N° 91 /2019 Processo N°: 6894 /2019
Indicação N° 1768 /2019 Processo N°: 6893 /2019
Indicação N° 1767 /2019 Processo N°: 6892 /2019
Indicação N° 1766 /2019 Processo N°: 6891 /2019
Projeto de Lei N° 572 /2019 Processo N°: 6890 /2019

推荐阅读