Форум сайта python.su
0
Как получить страницу для парсинга если она формируется в зависимости от тэга option в тэге form.
Через requests.get() я получаю страницу с формами, которы надо как-то выбрать и отправить что-бы получить заданную страницу для последующего парсинга.
<body> <form> <select name="SelectId"> <option value="1">One</option> <option value="2">Two</option> </select> </form> </body>
Офлайн
13
Для этого надо заранее сделать POST запрос с данными формы или открыть сессию, где тоже сделать POST.
from socket import socket, gethostbyname from bs4 import BeautifulSoup # Допустим присылается твоя форма # Нужно, чтобы выбрано было option со значением 2 req = \ b''' GET /someform.html HTTP/1.1\r Host: somesite.ru\r User-Agent: SomeUserAgent/99.0 (XXX)\r Cache-Control: no-cache\r Content-Type: application/x-www-form-urlencoded Content-Length: 10\r \r SelectId=1 ''' recvd = None with socket() as sock: sock.connect((gethostbyname('www.somesite.ru'), 80)) sock.send(req) # отправляем запрос recvd = sock.recv(65535) bss = BeautifulSoup(recvd.decode(), 'html.parser') # Дальше сам
# Life loop while alive: if (fun > boredom) and money: pass_day(fun, boredom, money) continue else: break
Отредактировано DamMercul (Окт. 20, 2018 21:25:17)
Офлайн