Ошибка объекта при парсинге

Std

Новичок
Пользователь
Авг 10, 2020
3
0
1
Windows 7. Питон 3.7

Учу питон, решил попрактиковаться с использованием парсинга. Выбрал 1хбет так как, там раздолье для использования простых модулей. Но понять как вытащить данные так и не смог, книги читал, по форумам бродил, видео смотрел, толку никакого, брутфорс смог написать, а вот спарсить данные такие не могу. Помогите разобраться, даже пример ТОЛКОВЫЙ не смог найти.
Сайт https://bet-1x99522.com/
Страница с которой парсить https://bet-1x99522.com/ru/tvgames/?game=147521
Python:
import requests
import bs4
from lxml import html

url = "https://bet-1x99522.com/ru/tvgames/?game=147521"

HEADERS = header = {
           'Accept-Language': 'en',
           'Accept-Encoding': 'gzip, deflate, br',
           'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36',
           'Content-Type': 'application/x-www-form-urlencoded',
           'DNT': '1',
           'Connection': 'keep-alive',
           'Upgrade-Insecure-Requests': '1'
                }
r = requests.get(url, headers = HEADERS)
r.encoding = "UTF8"

b = bs4.BeautifulSoup(r.text, "html.parser")

v = b.xpath("/html/body/div/div[2]/div[2]/div[2]/div[2]/div[2]/div[4]/div/span/span")

print(v)
 

stud_55

Модератор
Команда форума
Модератор
Апр 3, 2020
1 522
672
113
Благодарю, но у меня проблема прям в корне , при просмотре html страницы нет пункта который мне нужен, доступ к нему можно получить только при исследовании элемента. Я думаю что использование селениума решит мою проблему , но хотелось бы именно bs использовать
Если элемент формируется динамически (через js), bs4 не решит вашу проблему. Нужно использовать selenium.
 
  • Мне нравится
Реакции: Std

Std

Новичок
Пользователь
Авг 10, 2020
3
0
1
Привел объект супа привет к типу стринг, толку все равно нет, пустой список выдает, что не так делаю и как исправить, подкажите плиз
Исключения не использовал, так как задача на данный момент другая
Python:
import requests
import bs4
from lxml import html

url = "https://bet-1x63300.com/ru/tvgames/?game=147521"

header = {
           'Accept-Language': 'en',
           'Accept-Encoding': 'gzip, deflate, br',
           'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36',
           'Content-Type': 'application/x-www-form-urlencoded',
           'DNT': '1',
           'Connection': 'keep-alive',
           'Upgrade-Insecure-Requests': '1'
                }
r = requests.get(url, headers = header)
r.encoding = "UTF8"

b = bs4.BeautifulSoup(r.text, "html.parser")

bb = str(b)

tree = html.fromstring(bb)

v = tree.xpath("/html/body/div/div[2]/div[2]/div[2]/div[2]/div[2]/div[4]/div/span/span")

print(v)
 

stud_55

Модератор
Команда форума
Модератор
Апр 3, 2020
1 522
672
113
Лучше тренируйтесь на другом сайте (а то вопрос похож на скрытую рекламу).
Вот статья про bs4: ссылка. Почитайте и сделайте как в примерах.
 
  • Мне нравится
Реакции: Std

Std

Новичок
Пользователь
Авг 10, 2020
3
0
1
Благодарю, но у меня проблема прям в корне , при просмотре html страницы нет пункта который мне нужен, доступ к нему можно получить только при исследовании элемента. Я думаю что использование селениума решит мою проблему , но хотелось бы именно bs использовать
 

Форум IT Специалистов