как получить историю youtube musi c с bs4? - PullRequest
0 голосов
/ 25 мая 2020

недавно учился python. и я получил историю youtube musi c с селеном. но это очень медленно медленно медленно! Так что я использовал BS4, чтобы быстро получить историю. конечно, я также использовал селен для входа в систему. и я хочу использовать cook ie и информацию о сеансе, полученную из входа в систему селеном. поэтому я использую метод get_cooies ().

, но возвращаемый результат - это не страница истории youtube musi c, а домашняя страница youtube musi c.

в чем проблема ?? и если у вас есть идеи, пожалуйста, поделитесь своими идеями.

enter code here
import requests
import re
from bs4 import BeautifulSoup
from selenium import webdriver
import time

headers = {
 'User-Agnet' :'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.122 Safari/537.36'
}
driver = webdriver.Chrome('./chromedriver.exe')
driver.get('https://stackoverflow.com/users/login?ssrc=head&returnurl=https%3a%2f%2fstackoverflow.com%2f')
driver.find_element_by_xpath('//*[@id="openid-buttons"]/button[1]').click()
time.sleep(2)

driver.find_element_by_xpath('//*[@id="identifierId"]').send_keys('ID')
driver.find_element_by_xpath('//*[@id="identifierNext"]/span').click()
time.sleep(2)

driver.find_element_by_xpath('//*[@id="password"]/div[1]/div/div[1]/input').send_keys('PASSWORD')
driver.find_element_by_xpath('//*[@id="passwordNext"]/span/span').click()
time.sleep(2)

driver.get('https://music.youtube.com/history')
time.sleep(5)

headers = requests.utils.default_headers()
headers.update({'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.122 Safari/537.36'})
s = requests.Session()
cookies = driver.get_cookies()
for cookie in cookies:
    s.cookies.set(cookie['name'], cookie['value'])
html = s.get('https://music.youtube.com/history',headers=headers).text

soup = BeautifulSoup(html, 'html.parser')

print("soup")
print(soup.prettify())
...