Я написал скрипт на python, чтобы получить список материалов курса с веб-сайта. Чтобы раскрыть материалы курса, необходимо заполнить поле inputs
, которое можно найти. Если вы отслеживаете ссылку Find Textbooks
с ее целевой страницы, как это видно на изображении 1.
Однако, когда вы заполняете поля ввода соответственно, материалы курса будут обнаружены (то, как я это сделал, видно на втором рисунке).
Кажется, я все сделал правильно, но не смог получить предметы. Когда я выполняю свой скрипт, он ничего не анализирует и не выдает никакой ошибки. Селекторы, которые я использовал в скрипте, должны быть точными.
Ссылка на целевую страницу
Это моя попытка:
import requests
from bs4 import BeautifulSoup
url = "https://uncg.bncollege.com/webapp/wcs/stores/servlet/BNCBTBListView"
payload = {
'storeId':'19069',
'catalogId':'10001',
'langId':'-1',
'clearAll':'',
'viewName':'TBWizardView',
'secCatList':'',
'removeSectionId':'',
'mcEnabled':'N',
'showCampus':False,
'selectTerm':'Select Term',
'selectDepartment':'Select Department',
'selectSection':'Select Section',
'selectCourse':'Select Course',
'campus1':'17548065',
'firstTermName_17548065':'Fall 2018',
'firstTermId_17548065':'84599238',
'section_1': '85441456',
'section_2':'',
'section_3':'',
'section_4':'',
'numberOfCourseAlready':'4'
}
with requests.Session() as s:
s.headers={"User-Agent":"Mozilla/5.0"}
res = s.post(url,data=payload)
soup = BeautifulSoup(res.text,"lxml")
for items in soup.select("#skipNavigationToThisElement a"):
print(items.text)
Любая помощь в устранении проблемы будет высоко оценена.
Изображение одно
Изображение два