首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何重定向到python中分配给索引号的特定url

如何重定向到python中分配给索引号的特定url
EN

Stack Overflow用户
提问于 2020-02-29 10:51:53
回答 2查看 48关注 0票数 1
代码语言:javascript
复制
from selenium import webdriver
import csv
import time
from selenium.common.exceptions import NoSuchElementException
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from bs4 import BeautifulSoup
from selenium.webdriver.common.keys import Keys
import requests
import sys
import re
from tabulate import tabulate

USERNAME = ''
PASSWORD = ''

driver = webdriver.Chrome('chromedriver.exe')
driver.get('https://www.iimbx.edu.in/dashboard')

user_input = driver.find_element_by_id('login-email')
user_input.send_keys(USERNAME)

user_password = driver.find_element_by_id('login-password')
user_password.send_keys(PASSWORD)

button = driver.find_element_by_xpath('//*[@id="login"]/div[4]/button')
button.click()

res = driver.execute_script("return document.documentElement.outerHTML")
soup = BeautifulSoup(res, 'html.parser')

courseSection = soup.find_all("section", { "class" : "mycourse_grid_sec" })
courseList = soup.find_all('div', {'class':'col-md-4 col-sm-6 col-xs-6'})
courseinfo = soup.find_all('h2', {'class':'mycourse_title'})

print('list of courses in your dashboard:')

coursesDict = []
# for i in range(0, len(courseinfo)):
#     courseAnchorTag = courses.find('a', href=True)
#     coursesDict.append({'number': i,'title': courseAnchorTag['title'],'href': courseAnchorTag['href']})


i = 0
for courses in courseinfo:
    i = i+1
    courseAnchorTag = courses.find('a', href=True)
    courseTitle = courseAnchorTag['title']
    courseLink = courseAnchorTag['href']
    coursesDict.append({'number': i,'title': courseTitle, 'href': courseLink})
    print(f'{i}: {courseTitle} : {courseLink}')

/上述声明的产出如下:

代码语言:javascript
复制
list of courses in your dashboard:

会计与财务: /courses/course-v1:IIMB+EEP_AC104x+EEP_AC104x/course/ 2:战略管理: /courses/course-v1:IIMBx+ST101x+082019EEP/course/ 3: IIMBx大奖: /courses/course-v1:IIMBx+Awards101+2019_T3/course/ 4:战略管理: /courses/course-v1:IIMBx+ST101x+IBA2019/course/ 5:会计与财务: /courses/course-v1:IIMBx+AC104x+102018EEP/course/ 6:人事管理: /courses/course-v1:IIMBx+HR101x+042019CR1/course/7:人事管理: /courses/course-v1:IIMBx+HR101x+0918CR1/course/ 8:人员管理: /courses/course-v1:IIMBx+HR101x+0718CR1/course/ 9:人员管理: /courses/course-v1:IIMBx+HR101x+022019CR1/course/ 10:人事管理导论: /courses/course-v1:IIMBx+HR101x+0917BL1/course/ 11:客户关系管理: /courses/course-v1:IIMBx+MK210x+0917AC1/course/ 12:客户关系管理: /courses/course-v1:IIMBx+MK210x+0817BL1/course/ 13:会计和财务: /courses/course-v1:IIMBx+AC104x+0817EEP1/course/ 14:客户关系管理: /courses/course-v1:IIMBx+MK210x+0817EEP1/course/ 15:人员管理: /courses/course-v1:IIMBx+HR101x+0817EEP1/course/ 16:会计导论-1: /courses/course-v1:IIMBx+AC101x+0817EEP1/course/ 17:战略管理: /courses/course-v1:IIMBx+ST101x+0817CR1/course/ 18:战略与教师可持续企业: /courses/course-v1:IIMBx+ST250x+0817FD1/course/ 19:银行和金融市场: /courses/course-v1:IIMBx+FC201.1x+1017_AC1/course/ 20:预测分析: /courses/course-v1:IIMBx+QM901x+0917AC1/course/ 21:为每个人创业: /courses/course-v1:IIMBx+EP101x+0817AC1/course/ 22:管理会计用于决策: /courses/course-v1:IIMBx+AC102x+0817AC1/course/ 23:市场营销要点简介: /courses/course-v1:IIMBx+MK101+0817CR1/course/ 24:会计导论-1:/课程/课程1:IIMBx+AC101x+2017_R2/course/ 25:银行和金融市场简介: /courses/course-v1:IIMBx+FC201.1x+2017_T2/course/ 26:银行,金融市场与系统: /courses/course-v1:IIMBx+FC201+2017_T2/course/ 27:为每个人创业: /courses/course-v1:IIMBx+EP101x+Instructor-paced/course/ 28:组织设计:创造竞争优势: /courses/course-v1:IIMBx+OB102x+Instructor-paced/course/ 29:战略管理: /courses/course-v1:IIMBx+ST101x+Instructor-paced/course/ 30:管理经济学导论: /courses/course-v1:IIMBx+ES101x_R1+2017_T2/course/ 31: FDP -MOOC简介: /courses/course-v1:IIMBx+FDP001x+2017_T2/course/ 32:会计导论-1: /courses/course-v1:IIMBx+AC101x_R1+2017_T2/course/ 33:会计导论-1: /courses/course-v1:IIMBx+AC101x+Instructor-paced/course/ 34:管理经济学导论: /courses/course-v1:IIMBx+ES101x+Instructor-paced/course/

///

代码语言:javascript
复制
chosen_no = int(input('Please enter the Course Number '))

/当我打印上面的语句时,我得到了输入框,上面写着输入课程编号。

/在我输入后,它不会重定向,我不知道任何代码帮助都会被感谢。

EN

回答 2

Stack Overflow用户

发布于 2020-02-29 11:38:26

您可以使用下面的代码获取基于索引的“href”。

代码语言:javascript
复制
lt = [{'number':1,'title':'Accounting and Finance :','href':'/courses/course-v1:IIMB+EEP_AC104x+EEP_AC104x/course/'},
        {'number': 2, 'title': 'Strategic Management :',
         'href': '/courses/course-v1:IIMBx+ST101x+082019EEP/course/'},
        {'number': 3, 'title': 'IIMBx Awards :',
         'href': '/courses/course-v1:IIMBx+Awards101+2019_T3/course/ '}
        ]
chosen_no = int(input('Please enter the Course Number '))

print ([x for i,x in enumerate(lt) if lt[i]['number']==chosen_no][0]['href'])

结果:

代码语言:javascript
复制
Please enter the Course Number 1
/courses/course-v1:IIMB+EEP_AC104x+EEP_AC104x/course/
票数 1
EN

Stack Overflow用户

发布于 2020-02-29 13:23:33

代码语言:javascript
复制
chosen_no = int(input('Please enter the Course Number you want to Extract: '))
selectedCourse = 0
i = 0
for course in  coursesDict:
    if course['number'] == chosen_no:
        selectedCourse = course

    i = i+1

print(selectedCourse)
driver.get('https://your_site_url' + selectedCourse['href'])

请尝尝这个

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60464314

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档