Я хотел бы получить исходный код веб-страницы, но у меня есть сообщение «Отказано в доступе». Я пытался использовать пользовательский агент, чтобы решить эту проблему, он работал несколько, но после того, как та же ошибка вернулась. Я видел, что одним из решений было восстановить токены страницы, где мой вопрос. Как восстановить токены со страницы или сайта.
URL сайта: https://www.groupon.com/browse/boston?category=food-and-drink
#import needed object
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from bs4 import BeautifulSoup
from fake_useragent import UserAgent
#put the url of the groupon page in the object url
url = "https://www.groupon.com/browse/boston?category=food-and-drink"
#print the url on the screen, return an object of type NoneType
print(url)
#create a UserAgent object
ua = UserAgent()
#put a random UserAgent in the object userAgent
userAgent = ua.random
#print the userAgent on the screen, return an object of type NoneType
print(userAgent)
#initialise the object options with the options of chrome webdriver
selenium.webdriver.chrome.options.Options
options = Options()
#add a argument in the object option, return an object of type NoneType
options.add_argument(f'user-agent={userAgent}')
#define the option of chrome webdriver
options.headless = True
#create a webdriver object, return the object driver of type
selenium.webdriver.chrome.webdriver.WebDriver
driver = webdriver.Chrome(options=options, executable_path=r'C:\Users\user\AppData\Local\Programs\Python\Python36\Scripts\chromedriver.exe')
#get the url, return an object of type NoneType
driver.get(url)
#create a beautifulsoup object, return an object of type bs4.BeautifulSoup
soup = BeautifulSoup(driver.page_source,features="html.parser")
#select body, return the object codeSource of type list
codeSource = soup.select('body')
#print codeSource on the screen, return an object of type NoneType
print(codeSource)
результат