Могу ли я очистить следующую страницу с помощью BeautifulSoup?

#python #beautifulsoup

#python #beautifulsoup

Вопрос:

Я страдаю от проблемы в течение дня. Я хочу просканировать веб-сайт, на котором есть страницы. Я обнаружил, что могу сканировать ее, когда у каждой страницы разные URL
точно так же (страница = 1 . страница = 2 .. и т.д.).. Но веб-сайт, который я пытаюсь очистить, он никогда не меняет свой URL, даже если я перехожу на следующую страницу. Есть ли какие-нибудь способы очистить страницу такого рода? Спасибо!

введите описание изображения здесь

введите описание изображения здесь

код является результатом curl в python

 import requests

cookies = {
    'WMONID': 'smDC5Ku5TeX',
    'userId': 'robin9634',
    'UID': 'robin9634',
    'JSESSIONID': 'lLqLdHFEk4iEJdQ2HCR5m05tg6ZIxBdegEamDzxeEoTClkvqVDN4xzXeMPtTIN3e.cG9ydGFsX2RvbWFpbi9wZDU=',
}

headers = {
    'Connection': 'keep-alive',
    'Cache-Control': 'max-age=0',
    'Upgrade-Insecure-Requests': '1',
    'Origin': 'https://dhlottery.co.kr',
    'Content-Type': 'application/x-www-form-urlencoded',
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.83 Safari/537.36',
    'Accept': 'text/html,application/xhtml xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
    'Sec-Fetch-Site': 'same-origin',
    'Sec-Fetch-Mode': 'navigate',
    'Sec-Fetch-User': '?1',
    'Sec-Fetch-Dest': 'document',
    'Referer': 'https://dhlottery.co.kr/gameInfo.do?method=powerWinNoList',
    'Accept-Language': 'ko-KR,ko;q=0.9,en-US;q=0.8,en;q=0.7',
}

params = (
    ('method', 'powerWinNoList'),
)

data = {
  'nowPage': '7',
  'searchDate': '20200909',
  'calendar': '2020-09-09',
  'sortType': 'num'
}

response = requests.post('https://dhlottery.co.kr/gameInfo.do', headers=headers, params=params, cookies=cookies, data=data)

#NB. Original query string below. It seems impossible to parse and
#reproduce query strings 100% accurately so the one below is given
#in case the reproduced version is not "correct".
# response = requests.post('https://dhlottery.co.kr/gameInfo.do?method=powerWinNoList', headers=headers, cookies=cookies, data=data)
  

Комментарии:

1. Страница, о которой идет речь, похоже, требует входа в систему, поэтому я не могу подтвердить это, но я предполагаю, что она использует AJAX-запрос для получения последующих страниц. Посмотрите в инструментах разработчика вашего браузера, на панели Сети, чтобы увидеть, что происходит при переходе между страницами. Возможно, вы сможете использовать эти запросы в качестве руководства.

2. Я сделал так, как вы сказали, зашел на сетевую панель и щелкнул по каждой странице. Как я могу увидеть эти различия?

3. Если вы нажмете открыть каждый запрос, вы увидите, как они выполняются на боковой панели. Обратите внимание на опубликованные данные, а также на ответ. Вы также можете щелкнуть правой кнопкой мыши -> копировать как выборку, чтобы получить код (JavaScript), который вы можете адаптировать к requests запросу.

4. если вы копируете как cURL код, вы можете преобразовать в Python на странице curl.trillworks.com

5. я думаю, что нашел разницу между страницами 5 и 7 «body»: «nowPage = 7 amp; searchDate = 20200909 amp; calendar = 2020-09-09 amp;sortType = num», «body»: «nowPage = 5 amp; searchDate = 20200909amp; calendar = 2020-09-09 amp; sortType = num», я хочу на самом деле адаптировать это в свой код. как я могу?