Извлечение данных с использованием bs4 из текстового диапазона javascript - PullRequest
0 голосов
/ 07 апреля 2020

я пытаюсь извлечь некоторые данные из промежутка, который находится после текстового скрипта / javascript, я попытался с помощью regex и до fr agile: как я могу получить промежуток после текста / javascript?

html_content = urlopen('https://www.icewarehouse.com/Bauer_Vapor_1X/descpage-V1XS7.html')

soup = BeautifulSoup(html_content, "lxml")

price =soup.find(class_='crossout')
span = price('span')
print(span) 

выход отключен:

 649.99 949.99

1 Ответ

0 голосов
/ 08 апреля 2020

Я думаю, вы пытаетесь получить минимум и максимум массива msrp. В этом случае вы не можете использовать BS для этого. Используйте обычное число.

Попробуйте это:

from urllib.request import urlopen
from bs4 import BeautifulSoup
import re

html_content =urlopen('https://www.icewarehouse.com/Bauer_Vapor_1X/descpage-V1XS7.html')
soup = BeautifulSoup(html_content, "lxml") 
pattern = re.compile("msrp.push\((.*?)\);.*msrp.push\((.*?)\);")
m = pattern.search(soup.text)
if m:
    print(m[1], m[2])

При этом используются две группы захвата для получения минимальных и максимальных значений из строки, где значения помещаются в массив msrp.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...