Есть ли простой способ разделить:
R 24 -50 (1948 — 1950)R 25 -56 (1950 — 1956)R 26 -60 (1955 — 1960)R 27 -66 (1960 — 1966)R 50 -69 (1955 — 1969)R 51 -54 (1950 — 1953)R 60 -69 (1956 — 1969)R 67 -55 (1951 — 1955)R 68 -54 (1952 — 1954)R 69 -69 (1955 — 1969)R50/5-R90S 69-76 (1969 — 1980)R45-R65LS..78-85 (1978 — 1985)R 60, R 75 , R 80, /7, RT (76-85) (1976 — 1985)R 65 GS, R 80 G/S, R 80 ST (80-92) (1980 — 1992)R 65, R 65 RT, R 80, R 80 RT (85-95) (1984 — 1995)R 80 GS, R 100 GS, PD (87-90) (1986 — 1990)R 80 GS, R 100 GS, PD (90-95) (1990 — 1996)R 80 GS Basic (96) (1996 — 1996)R 80 R, R 100 R, Mystik (91-95) (1991 — 1996)R 100, /7, /T, CS, RS, RT, S (76-84) (1976 — 1984)R 100 RS, R 100 RT (87-95) (1986 — 1995)K589 (K1, K 100 RS) (1988 — 1993)K589 (K100, RS, RT, LT) (1982 — 1991)K569 (K 75, K 75 C, K 75 S, K 75 RT) (1984 — 2005)A10B08 (87-97) (1987 — 1996)
все подстроки, которые на самом деле заканчиваются (19wx - 19yz)
, в список, который должен выглядеть так:
['R 24 -50 (1948 — 1950)',
'R 25 -56 (1950 — 1956)',
'R 26 -60 (1955 — 1960)',
'R 27 -66 (1960 — 1966)',
'R 50 -69 (1955 — 1969)',
'R 51 -54 (1950 — 1953)',
'R 60 -69 (1956 — 1969)',
'R 67 -55 (1951 — 1955)',
'R 68 -54 (1952 — 1954)',
'R 69 -69 (1955 — 1969)',
'R50/5-R90S 69-76 (1969 — 1980)',
'R45-R65LS..78-85 (1978 — 1985)',
'R 60, R 75 , R 80, /7, RT (76-85) (1976 — 1985)',
'R 65 GS, R 80 G/S, R 80 ST (80-92) (1980 — 1992)',
'R 65, R 65 RT, R 80, R 80 RT (85-95) (1984 — 1995)',
'R 80 GS, R 100 GS, PD (87-90) (1986 — 1990)',
'R 80 GS, R 100 GS, PD (90-95) (1990 — 1996)',
'R 80 GS Basic (96) (1996 — 1996)',
'R 80 R, R 100 R, Mystik (91-95) (1991 — 1996)',
'R 100, /7, /T, CS, RS, RT, S (76-84) (1976 — 1984)',
'R 100 RS, R 100 RT (87-95) (1986 — 1995)',
'K589 (K1, K 100 RS) (1988 — 1993)',
'K589 (K100, RS, RT, LT) (1982 — 1991)',
'K569 (K 75, K 75 C, K 75 S, K 75 RT) (1984 — 2005)',
'A10B08 (87-97) (1987 — 1996)']
Я пробовал множество вещей, и самый простой и близкий:
import requests
from bs4 import BeautifulSoup
import re
url = 'https://www.example.com/select?product=A&archive=B'
headers = {"User-agent": 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36'}
page = requests.get(url, headers=headers)
soup = BeautifulSoup(page.content, 'html.parser')
s = soup.find(id="series").get_text()
p = 1
c = []
n = 0
char=r"\((....)\s[-]\s(....)\)"
while p > 0:
p = s.find(char)
record = s[0:p+1]
s = s.split(record,1)[1]
print(s)
c.insert(n,record)
n = n+1
print(c)
, где мое регулярное выражение неверно, и когда я тестирую с помощью char = ')', чтобы пройти эту задачу и см. следующий, я заканчиваю на:
Traceback (most recent call last):
File "/Users/chinedu/Documents/Scooters Archives/BMW/scrapping motorcycles site 1.py", line 43, in <module>
s = s.split(record,1)[1]
ValueError: empty separator
что выглядит очевидным, но я не могу его решить
Всем спасибо