Нужна помощь в получении ключа сайта с сайта Dynami c - PullRequest
2 голосов
/ 16 января 2020

Я создаю автоматическое создание учетной записи с помощью Pycharm. Я сталкиваюсь с проблемой, с которой мне еще предстоит найти хорошее решение. Я хочу получить ключ сайта, чтобы передать код, который я купил. Я использовал метод questions.get, но в результате он возвращает «None». Я использую селен в моей программе. Подумав немного, я понял, что использование метода request.get, если он работает, принесет мне другой ключ, нежели тот, который отображается в моем драйвере селена. Я много гуглил и обнаружил только, что есть модуль с именем Selenium-Requests , в который не импортирован Edge. Я использую Edge, так как это единственный браузер, который есть у всех, и для него не требуется его версия для разработчиков, например Chrome и Firefox. Обычно я не нашел исправления, которое могло бы помочь мне получить ключ в моем драйвере. Это код извлечения:

registerurl = requests.get(url)
registerurlstring = ''.join(str(e) for e in registerurl)
soup = BeautifulSoup(registerurlstring, features="html5lib")
hidden_tags = soup.find({"id":"recaptcha-token"})
sitekey = hidden_tags
try:
  print('Sitekey = ', sitekey)
except:
  print('Sitekey = Not Found')

1 Ответ

1 голос
/ 16 января 2020

Я не уверен, что это то, что вам нужно или нет. Чтобы получить значение recaptcha, которое находится внутри iframe, вам нужно нацелиться на значение src этого iframe и использовать python запрос модуль, вы можете получить значение этого входа.

enter image description here

import requests
from bs4 import BeautifulSoup
url='https://www.google.com/recaptcha/api2/anchor?ar=1&k=6Lc3HAsUAAAAACsN7CgY9MMVxo2M09n_e4heJEiZ&co=aHR0cHM6Ly9zaWdudXAuZXVuZS5sZWFndWVvZmxlZ2VuZHMuY29tOjQ0Mw..&hl=en&v=A1Aard-wURuGsXRGA7JMOqVO&theme=dark&size=invisible&badge=bottomright&cb=ezyy1frci5ms'
registerurl = requests.get(url)
soup = BeautifulSoup(registerurl.text, features="html5lib")
hidden_tags = soup.find('input' ,attrs={"id":"recaptcha-token"})
print(hidden_tags['value'])

Выход :

03AOLTBLQFd9hdHGmOesrT0xDcA8MkI6FGIiM3892Uws3aEWzPxUT8-U8IBEZHYzUEba2Jp9m3s9z_sz_fuij9OXZHABulFrI8YCD95kXV_H6xTO9vOubuZfzscleb6fdkkAE3IwUUSdTzPbXILy6SGLPI3LpPUptC1enZLIkQxQq9T8AEPPvCIsVgGe4jSE_l1jCWIRmBeBXsLgPLABZSq6ah6QWFfAngdC1rQaLMKWzLBmzh6ytEEGNYHmEG7P6UVtYcTI1IRIvq-ba-oGIUS1ELUb-1d3upQ29JWBtQ2t7_VNn237fguztf_FUDEHnAfHppUsrz-ZlkE00sMXFCuQ1XF6Qz7lH2j5g2z5KZQiODhRUBRRyd-ydjetz053bKRcgWpnNoZGNf1GBlW5inL9AtyYTkpruttw5sruAPuVgs5mrniQ5hrHNvfDIZKX905T2E21W2DsW1_07rItFYa-zkylMU83YXRQ

Надеюсь, это поможет.


Обновлен код для получения значения iframe src с использованием webdriver.


import requests
from bs4 import BeautifulSoup
from selenium import webdriver
driver=webdriver.Chrome()
driver.get("https://signup.eune.leagueoflegends.com/en/signup/index")
url=driver.find_element_by_css_selector("iframe[role='presentation']").get_attribute('src')
registerurl = requests.get(url)
soup = BeautifulSoup(registerurl.text, features="html5lib")
hidden_tags = soup.find('input' ,attrs={"id":"recaptcha-token"})
print(hidden_tags['value'])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...