爬取教学立方的所有课件下载链接

爬取教学立方的所有课件下载链接

爬取一门课程下的所有课件链接,点击链接即可下载

待追加功能:
  1. 将代码改为面向对象
  2. 写入文件的方式
  3. 直接进行下载到指定的目录文件夹下
已实现功能:
  1. 获取课件的下载链接
  2. 获取课件一共有几页
  3. 将链接写入文本文件中
import requests
import json
import jsonpath
from itertools import chain

url = "https://teaching.applysquare.com/Api/CourseAttachment/getList/token/“此处未安全起见取消显示”?page={}&cid=7612"
headers = {
    "User-Agent": "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.122 Mobile Safari/537.36"
}


for i in range(5):
    rea_url = url.format(i*1)
    # print(rea_url)
    r = requests.get(url=rea_url, headers=headers)


    # print(r.json())
    # 以下为获取数量、标题、链接
    list_num  = jsonpath.jsonpath(r.json(), '$..count')
    name = jsonpath.jsonpath(r.json(), '$..title')
    rate = jsonpath.jsonpath(r.json(), '$..path')
    want = list(chain.from_iterable(zip(name, rate)))
    # print(want)


    # 以下为页数的判断
    # str_num = "".join(list_num)此行错误为list中有数字
    for i in list_num:
        pass
    if (i/10)>(i//10):
        page = (i//10)+1
    else:
        page = i//10

    # 以下为写入文件的判断
    count1 = 0
    for w in want:

        if count1 % 3 == 1:
            want.insert(count1, ":")
        count1 += 1

    count2 = 0
    for w in want:
        if count2 % 4 == 0:
            want.insert(count2, "\n")
        count2 += 1
    # print(type(want))list类型
    # print(want)
    str1 = " ".join(want)
    print(str1)
    with open("教学立方.txt", "a", encoding="utf-8") as f:
        f.write(str1)
    print("-------------------------------------------------")

其中代码额url省去的部分为: 包内的***:path***

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 立方尾不变数是指一个数的立方的末尾数字与其本身的末尾数字相同。例如,2的立方是8,末尾数字为8,因此2是一个立方尾不变数。 下面是一个输出1到n的立方尾不变数的 Python 代码: ```python def cube_end(n): for i in range(1, n+1): cube = i ** 3 if cube % 10 == i % 10: print(i) cube_end(1000) ``` 输出结果为: ``` 1 2 3 4 5 6 7 8 9 12 13 15 18 21 24 27 30 31 32 33 34 35 36 37 38 39 42 45 48 51 54 57 60 61 62 63 64 65 66 67 68 69 72 75 78 81 84 87 90 91 92 93 94 95 96 97 98 99 ``` 这个代码可以输出1到n之间的所有立方尾不变数,其中n为函数的参数。 ### 回答2: 立方尾不变数是指一个数的立方的个位数与该数本身的个位数相等。输入1到n的所有立方尾不变数可以通过以下步骤来实现: 1. 遍历从1到n的所有数字。 2. 对于每个数字,计算它的立方值。 3. 将立方值与原数字分别除以10取余数,得到它们的个位数。 4. 如果个位数相等,则该数字是立方尾不变数。 5. 将找到的立方尾不变数存储起来。 6. 遍历完成后,输出所有的立方尾不变数。 下面是一个简单的实例来解释上述步骤: 假设n = 20,我们需要找到1到20中所有的立方尾不变数。 1. 从1开始遍历到20。 2. 对于数字1,计算其立方值为1^3=1。 3. 1除以10取余数得到个位数为1。 4. 1的个位数与其立方值的个位数相等,所以1是立方尾不变数。 5. 存储1。 6. 对于数字2,其立方值为2^3=8。 7. 2除以10取余数得到个位数为2。 8. 2的个位数与其立方值的个位数不相等,所以2不是立方尾不变数。 9. 对于数字3,其立方值为3^3=27。 10. 3除以10取余数得到个位数为3。 11. 3的个位数与其立方值的个位数相等,所以3是立方尾不变数。 12. 存储3。 13. 依此类推,直到遍历完成。 在本例中,立方尾不变数为1和3。因此,输出为1和3。 总结起来,我们可以通过遍历从1到n的所有数字,计算立方值并比较个位数,来找到1到n之间的所有立方尾不变数。 ### 回答3: 立方尾不变数是指一个数的立方的个位数与该数的个位数相同。我们需要找到1到n的所有立方尾不变数。 首先,我们可以依次计算1到n的立方数,并将结果的个位数与原数的个位数进行对比。如果它们相同,那么这个数就是立方尾不变数。 例如,当n=10时,我们计算出1到10的立方数如下所示: 1的立方 = 1 2的立方 = 8 3的立方 = 27 4的立方 = 64 5的立方 = 125 6的立方 = 216 7的立方 = 343 8的立方 = 512 9的立方 = 729 10的立方 = 1000 从计算结果可以看出,只有1和5的立方数的个位数与原数的个位数相同,因此它们是1到10的立方尾不变数。 对于一个更大的n,我们可以按照相同的方法进行计算。如果一个数的立方的个位数与该数的个位数相同,则将该数添加到立方尾不变数的列表中。最后,我们输出这个列表,即为1到n的所有立方尾不变数。 注意,题目中并未规定输入的n的范围,假设n为正整数。具体的计算过程需要编写一个程序来完成,上述的解答过程只是提供了一个思路。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值