#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.com5. я думаю, что нашел разницу между страницами 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», я хочу на самом деле адаптировать это в свой код. как я могу?