python - 如何在没有 \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']
解决方案
这种方法怎么样:
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
推荐阅读
- terraform-provider-azure - 使用 Terraform 在 Azure 中为同一订阅下的所有 VM 创建警报
- python - 提取化学名称的美丽汤
- python - 合并指定字段上的元组
- kotlin - 如果我在视图寻呼机中跳过一个片段,它会暂时可见
- java - 1000 locker java问题不使用数组
- c++ - 如何获得数组的最大乘积
- keras-layer - 如何修复 InvalidArgumentError:输入和过滤器必须具有相同的深度:3 vs 32?
- ld - LLD 与 LD 链接描述文件差异
- python - firestore 中是否有办法获取在 python 中使用 collection_group 查询检索到的文档的完整文档路径?
- python - 无法使用 tweepy (Python) 向 twitter 用户提供快速回复选项