В самом простом сценарии:
NOTSUREHERE
следует заменить на name = 'tag_name'
, являясь tag_name
возможным тегом, в котором вы наверняка найдете почтовые индексы (и никакое другое числовое поле, которое может бытьошибочный по почтовому индексу)
Затем каждый элемент этого объекта должен быть передан re.findall(regex, string)
, являющемуся: regex = '([0-9]{5})'
(насколько я понимаю, шаблон был) и string
элемент, из которого вы 'повторное извлечение почтовых индексов.
import requests
import urllib.request,re
from bs4 import BeautifulSoup
source = requests.get('DOMAIN').text
soup = BeautifulSoup(source, 'lxml')
tag_list = soup.find_all(name = 'tag_name')
match_list = []
for tag in tag_list:
match_list.append(re.findall('([0-9]{5})', str(tag)))
Вам следует следить за возможными совпадениями, которые не являются почтовыми индексами.Это может быть в случае уточнения вызова soup.find_all()
путем добавления дополнительных аргументов.Документация может дать вам еще больше возможностей, но аргумент attrs
может быть установлен на {'target_attribute':'target_att_value'}
, которые являются атрибутом и значением, которое определенно помечает тег с помощью почтового индекса.
РЕДАКТИРОВАТЬ: Относительно возможного пустогоэлементы, эта ссылка имеет очень простое решение: Удаление пустых элементов из массива в Python