利用python搜索腾讯课堂课程

导入库

import requests
from bs4 import BeautifulSoup
import bs4

获取网页信息

def getHTMLText(url):
    try:
        r = requests.get(url, timeout=30)
        r.raise_for_status()
        r.encoding = r.apparent_encoding
        return r.text
    except:
        return ""

获得课程名称并输出

def getCourseName(key, url):
    html = getHTMLText(url)
    soup = BeautifulSoup(html, "html.parser")
    title = soup.title.string[0:-12]
    if key in title:
        print('\n'+title+'   '+url+'\n')
        CourseListString = '|' + title + '|' + '|' + '[点击进入]('+ url + ')|\n'
        with open('result.md', 'a', encoding = 'UTF-8') as f:
            f.write(CourseListString)

循环搜索

'''
start  起始网址代码(包括start)
end    结束网址代码(不包括end)
'''
def printUnivList(start, end, key):
    with open('result.md', 'a', encoding = 'UTF-8') as f:
        f.write('|课程名称|课程网址|\n|:----:|:----:|\n')
    for n in range(start,end):
        try:
            print("\r进度:{:7}/{:7}".format(n-start,end-start),end='')
            url = 'https://ke.qq.com/course/{}'.format(n)
            getCourseName(key, url)
        except:
            continue

执行文件

key = input('请输入关键字:')
print('开始爬取。。。')
printUnivList(1000000, 1010000, key)
input('爬取结束,按任意键退出。。。')

附录:源文件

点击此处下载

附录:部分结果演示

bfj

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

weixin_43964993

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值