веб-очистка - программа не читает тег

Это должно работать, если вы используете его с методом String.matches. Я предполагаю, что вам нужен английский алфавит.

"[a-zA-Z]+(\\s+[a-zA-Z]+)*"

Обратите внимание, что \s позволит использовать все типы пробельных символов. В Java это будет эквивалентно

[ \t\n\x0B\f\r]

, который включает в себя горизонтальную вкладку (09), подачу строки (10), возврат каретки (13), подачу формы (12), обратное пространство (08), пробел (32).

Если вы хотите специально разрешить только пробел (32):

"[a-zA-Z]+( +[a-zA-Z]+)*"

Вы можете дополнительно оптимизировать регулярное выражение выше, сделав захват group ( +[a-zA-Z]+) не захватывает String.matches вы не сможете получить слова отдельно). Также возможно изменить кванторы, чтобы сделать их притяжательными , так как здесь нет точки в обратном следе.

"[a-zA-Z]++(?: ++[a-zA-Z]++)*+"
0
задан Ally 27 February 2019 в 14:25
поделиться

1 ответ

На основании комментария @Md Махфузура Рахмана вы можете получить все данные без использования BeautifulSoup:

import requests
response = requests.get('http://acfarma.com.br/wp-content/plugins/entrefarma-map/json_formatter.json').json()
for r in response:
    print(r)

Вывод:

{'id': '159', 'endereco': 'AVENIDA PRESIDENTE DUTRA', 'numero': '18', 'complemento': '', 'bairro': 'CENTRO', 'cep': '88860-000', 'cidade': 'Siderópolis', 'estado': 'SC', 'ddd': '48', 'telefone': '3435-3692', 'email': 'drogasider@acfarma.com.br', 'latitude': '-28.5994988', 'longitude': '-49.42558963', 'nome': 'DROGASIDER COMERCIO DE MEDICAMENTOS E MANIPULACAO LTDA - ME - MATRIZ', 'descricao': '', 'tags': '', 'autor': ''}

и т. Д. [ 1110]

Или, если вы ищете отфильтрованные данные, например, cidade=Nova Veneza и bairro=CENTRO затем:

import requests

response = requests.get('http://acfarma.com.br/wp-content/plugins/entrefarma-map/json_formatter.json').json()
for r in response:
    if r['cidade'] == 'Nova Veneza' and r['bairro'] == 'CENTRO':
        print(r)

Выход:

{'id': '167', 'endereco': 'RUA CONEGO MIGUEL GIACA', 'numero': '14', 'complemento': '', 'bairro': 'CENTRO', 'cep': '88865-000', 'cidade': 'Nova Veneza', 'estado': 'SC', 'ddd': '48', 'telefone': '3436-2045', 'email': 'veneza@acfarma.com.br', 'latitude': '-28.6647154', 'longitude': '-49.4729414', 'nome': 'FARMACIA DUMINELLI E GORINI LTDA ME', 'descricao': '', 'tags': '', 'autor': ''}
{'id': '168', 'endereco': 'RUA DOS IMIGRANTES', 'numero': '357', 'complemento': 'EDIFICIO BISTEK', 'bairro': 'CENTRO', 'cep': '88865-000', 'cidade': 'Nova Veneza', 'estado': 'SC', 'ddd': '48', 'telefone': '3436-1347', 'email': 'gorini@acfarma.com.br', 'latitude': '-28.6370762', 'longitude': '-49.5055401', 'nome': 'FARMACIA GORINI LTDA ME', 'descricao': '', 'tags': '', 'autor': ''}
0
ответ дан Alderven 27 February 2019 в 14:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: