Я работаю над своим первым программным проектом, так что извините за неправильный lin go.
Моя цель: я пытаюсь почистить веб-страницы с сайта моей местной библиотеки. Конечная цель - автоматизировать обновление книг на веб-сайте.
Прогресс: я успешно использовал Python, Selenium и Webdriver для входа на сайт библиотеки и go на страницу «Оформление заказа» для просмотра моих одолженных предметов. Затем я использовал Beautiful Soup для извлечения кода HTML на странице «Оформление заказа» на сайте.
Проблема: Похоже, что исходный код HTML, когда я проверяю веб-сайт Checkouts (щелчок правой кнопкой мыши и выберите «Inspect» в браузере Chrome), отличается от код, когда я смотрю на исходный код HTML (щелкните правой кнопкой мыши и выберите «Просмотреть исходный код» в браузере Chrome).
Код HTML при просмотре исходного кода совпадает с тем, что извлекает мой код Python, но при этом отсутствует вся информация, которую я хочу очистить. Однако код HTML при проверке сайта содержит информацию, которую я хочу почистить.
Вопросы:
- Почему код HTML отличается, когда я «проверяю» сайт и «Просмотреть исходный код» из Chrome браузер? (Возможно, это «минификация»?)
- Как мне извлечь код HTML с информацией, которую я хочу очистить?
Я включил свой код ниже.
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from bs4 import BeautifulSoup
import requests
driver = webdriver.Chrome()
driver.get('https://www.torontopubliclibrary.ca/signin')
# Login details
username = 'abcdefghi'
password = 'abcd'
# Type Username
submitUsername = driver.find_element_by_id('userId')
submitUsername.send_keys(username)
# Type Password
submitPassword = driver.find_element_by_id('password')
submitPassword.send_keys(password)
# Press Enter
enter = driver.find_element_by_xpath('//*[@id="form_signin"]/div[2]/input[3]')
enter.click()
# Open Checkouts page
driver.get('https://account.torontopubliclibrary.ca/checkouts')
driver = requests.get('https://account.torontopubliclibrary.ca/checkouts').text
soup = BeautifulSoup(driver, 'html.parser')