Задать вопрос
@goormany

Почему html разный?

Привет, такая проблема: Хочу написать парсер на Питоне для https://csgopolygon.gg . Но тут такая ситуация что при просмотре "Кода элемента" я вижу данный значения 610354f200af8851573881.png

А при просмотре "Исходного кода" я вижу вот эти цифры и строки 61035548aefed278753731.png

При парсинге я получаю такие же значения как и при просмотре "Исходного кода страницы". Вот вопрос, что мне сделать чтобы я получал актуальные данные?
Вот мой код:
from bs4 import BeautifulSoup
import requests

URL = 'https://csgopolygon.gg'
HEADERS = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.164 Safari/537.36 OPR/77.0.4054.275 (Edition Yx GX)'
}

def get_html(url):
    r = requests.get(url, headers=HEADERS)
    return r

def get_content(html):
    soup = BeautifulSoup(html, 'html.parser')
    items = soup.find_all('ul', class_='balls')
    balls = []

    for tooks in items:
        for i in tooks:
            balls.append({
                'num': soup.find('li', class_='ball').get_text(strip=True),
            })
            print(i)


def parse():
    html = get_html(URL)
    if html.status_code == 200:
        get_content(html.text)
    else:
        print(html.status_code)

parse()
  • Вопрос задан
  • 111 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 3
SoreMix
@SoreMix Куратор тега Python
yellow
Либо Selenium, либо открывать F12 - Network и смотреть какие запросы возвращают нужные значения и повторять их. Хотя скорее всего там не просто xhr будут
Ответ написан
Комментировать
@UberPool
Python/JS coder
Вполне возможно что весь html рендерится с помощью JS,попробуйте selenium и ему подобные.
Ответ написан
Комментировать
А у меня и в режиме исходного кода, и в инспекторе, и даже на самой странице цифры такие же, как у Вас в исходном коде. Предположу, что все дело в авторизации, а точнее в том, что цифры на странице, которую отдает сервер (исходный код) - это просто заглушка, а реальные данные передаются позже через js/xhr. Ищите в инспекторе на вкладке "сеть" нужные запросы и пытайтесь их повторить.
Второй вариант - selenium - это по сути полноценный браузер, который будет управляться из вашей программы.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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