完整代码抱歉不能放上来,如果需要交流的可以加我微信 在博客头像边上有号码。声明代码并不具备破坏网站原功能或是攻击功能。只是模拟人的行为。
我可以简单说一下原理; 只是拿这个网站做一个列子,需要用的到库有lxml bs4 selenium
第一步就是下面这个代码: 先得得到课程的ID
第二步 :点击这个课程,click() 方法可实现。用id定位
第三步:课程听一会儿是需要答验证码的这里就不多说了,以免破坏网站的初衷。
第四步:检测课是否有听完 听完就循环下一个ID 没听完就继续
重庆公需科目想要快速获取视频链接功能代码
browser.get('http://rcpx.21tb.com/')
def lian():
handles = browser.window_handles
browser.switch_to.window(handles[0])
x = input('登录完成点开课程列表位置 输入任意键开始')
uu =[]
html = browser.find_element_by_xpath('//*[@id="userCourseDiv"]/div[1]/ul')#专业
htm = browser.find_element_by_xpath('//*[@id="userCourseDiv"]/div[1]/ul[2]') #选修
html = html.get_attribute('innerHTML')
html = bs(html,'lxml')
htm = htm.get_attribute('innerHTML')
htm =bs(htm,'lxml')
a = html.findAll('li')
aa = htm.findAll('li')
j = 0
for i in a:
j =j+1
pan ='已学完' in i.text
if pan:
pass
else:
u =i.a.attrs['id']
print(i.text)
print(u)
print('\n')
uu.append(u)
if j==20:
j =0
break
for i in aa:
j =j+1
pan ='已学完' in i.text
if pan:
pass
else:
u =i.a.attrs['id']
if i.text =='\n\n【1.5学时】满意职场关系必备工具—PDP\n':
pass
elif i.text =='\n\n【1学时】零基础PPT实用操作技巧:好用篇\n':
pass
else:
print(i.text)
print(u)
print('\n')
uu.append(u)
if j==10:
break
return uu