学习强国——听故事

今天,我们来一起听一下讲故事。

网址:’https://www.xuexi.cn/xxqg.html?id=e433dab0149a4d42bb914b7a296ea7ff#00c6‘

1.模拟器打开网址

browse.get('https://www.xuexi.cn/xxqg.html?id=e433dab0149a4d42bb914b7a296ea7ff#00c6')
time.sleep(3)

2.滚动到”听故事“

browse.execute_script(f"window.scrollTo(0, document.body.scrollHeight/(5/4));")

3.搜索故事专辑。

list0 = browse.find_element(By.CSS_SELECTOR,'div._3qq02yp6RQqg-s-90jrYAn[data-data-id="listenTrumpetStation"]').find_elements(By.CSS_SELECTOR,'div.innerPic')

4.点击一个专辑。

5.切换窗口。

all_handles = browse.window_handles
browse.switch_to.window(all_handles[-1])

6.搜索专辑条目

list1 = browse.find_elements(By.CSS_SELECTOR,'ul.album-list .album-list-item')

7.播放条目

item1.find_element(By.CSS_SELECTOR, 'span.item-play').click()

8.保持时间

while True:
    play_time_current = browse.find_element(By.CSS_SELECTOR,
                                            '.y-audio-player-main .y-audio-current').text
    play_time_total = browse.find_element(By.CSS_SELECTOR,
                                          '.y-audio-player-main .y-audio-total').text
    if play_time_current == play_time_total:
        try:
            browse.find_element(By.CSS_SELECTOR, '.y-audio-player-main .y-audio-pause').click()
        except:
            pass
        break
    time.sleep(1)

9.完整代码:

import time
from selenium import webdriver
from selenium.webdriver.common.by import By
import re,os
import datetime

browse = webdriver.Edge()
browse.maximize_window()  # 窗口最大化
browse.implicitly_wait(30)
print('版块:讲故事')

browse.get('https://www.xuexi.cn/xxqg.html?id=e433dab0149a4d42bb914b7a296ea7ff#00c6')
time.sleep(3)
browse.execute_script(f"window.scrollTo(0, document.body.scrollHeight/(5/4));")
time.sleep(3)
# list0 = browse.find_elements(By.CSS_SELECTOR,'.left-part')[4].find_elements(By.CSS_SELECTOR,'.tab-item.center-item')
list0 = browse.find_element(By.CSS_SELECTOR,'div._3qq02yp6RQqg-s-90jrYAn[data-data-id="listenTrumpetStation"]').find_elements(By.CSS_SELECTOR,'div.innerPic')
print(len(list0))
for item0 in list0:
    item0.click()
    time.sleep(1)
    all_handles = browse.window_handles
    browse.switch_to.window(all_handles[-1])
    time.sleep(1)
    title_album = browse.find_element(By.CSS_SELECTOR,'span.album-text.nowrap').text
    print(title_album)
    list1 = browse.find_elements(By.CSS_SELECTOR,'ul.album-list .album-list-item')
    for i in range(7):
        browse.execute_script("window.scrollBy(0,48);")
        time.sleep(0.1)
    for flag, item1 in enumerate(list1):
        browse.execute_script("window.scrollBy(0,48);")
        print(flag, item1.text)

        item1.find_element(By.CSS_SELECTOR, 'span.item-play').click()
        while True:
            play_time_current = browse.find_element(By.CSS_SELECTOR,
                                                    '.y-audio-player-main .y-audio-current').text
            play_time_num = int(play_time_current.split(':')[0]) * 60 + int(play_time_current.split(':')[1])
            play_time_total = browse.find_element(By.CSS_SELECTOR,
                                                  '.y-audio-player-main .y-audio-total').text
            if play_time_current == play_time_total or play_time_num > 5:
            # if play_time_current == play_time_total:
                try:
                    browse.find_element(By.CSS_SELECTOR, '.y-audio-player-main .y-audio-pause').click()
                except:
                    pass
                break
            time.sleep(1)

    browse.close()
    browse.switch_to.window(all_handles[-2])
    time.sleep(1)
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值