Как я могу открыть веб-страницу, к которой я получил доступ, с Beautifulsoup в браузере? - PullRequest
0 голосов
/ 12 июня 2019

Мне нужен скрипт, который регистрирует меня в моей учетной записи git hub и открывает страницу github в браузере. До сих пор он получает доступ только с BeautifulSoup. Мне нужно открыть веб-страницу с моей учетной записью. Спасибо

import requests
from bs4 import BeautifulSoup as bs
import webbrowser
from urllib.request import urlopen

login_data = {
'commit': 'Sign in',
'utf8': '✓',
'authenticity_token': 'willchange',
'login': 'maximmashkov',
'password': '12345',
'webauthn-support' : 'supported'
}

headers = {
'User-Agent' : 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36'
}


with requests.Session() as s:
    url = 'https://github.com/session'
    r = s.get(url, headers=headers)
    soup = bs(r.content, 'html5lib')
    login_data['authenticity_token'] = soup.find('input', attrs = {'name': 'authenticity_token'})['value']
    response = requests.get(url)
    r = s.post(url, data=login_data, headers=headers)

1 Ответ

0 голосов
/ 13 июня 2019

Сначала установите selenium, затем в соответствии с вашей установкой ОС chromediver , затем протестируйте его, перейдя в папку, в которой вы сохранили драйвер, откройте терминал и введите chromedriver, если ошибки нет, то это работает.

после этого вам нужно использовать этот код, где вам нужно указать собственный путь к chromedriver в качестве пути к исполняемому файлу.

from selenium import webdriver
import time

url = "https://github.com/login"

driver = webdriver.Chrome(executable_path= 'C:/Users/reckonsys/anshuman-work/product-analysis/productanalysis/chromedriver.exe')

driver.get(url)

emailid=driver.find_element_by_id("login_field")

emailid.send_keys("put your username")

passw=driver.find_element_by_id("password")

passw.send_keys("password here")

signin=driver.find_element_by_xpath('//*[@id="login"]/form/div[3]/input[4]')

signin.click()

time.sleep(10)

# get anything here......

driver.close()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...