当前位置 博文首页 > 文章内容

    yuhaosun's blog:Python-教你用requests爬取网易云课堂热门课程。

    作者:shunshunshun18 栏目:未分类 时间:2021-10-17 20:12:11

    本站于2023年9月4日。收到“大连君*****咨询有限公司”通知
    说我们IIS7站长博客,有一篇博文用了他们的图片。
    要求我们给他们一张图片6000元。要不然法院告我们

    为避免不必要的麻烦,IIS7站长博客,全站内容图片下架、并积极应诉
    博文内容全部不再显示,请需要相关资讯的站长朋友到必应搜索。谢谢!

    另祝:版权碰瓷诈骗团伙,早日弃暗投明。

    相关新闻:借版权之名、行诈骗之实,周某因犯诈骗罪被判处有期徒刑十一年六个月

    叹!百花齐放的时代,渐行渐远!



            分享一下使用requests的经验。

            先附上代码。哦对了,如果你不知道payload和headers怎么获取,参考下:https://blog.csdn.net/Sunyoho/article/details/117587516

    import requests
    import time
    i = 0
    c = 1
    n = input("How many classes do you want to give:")
    for i in range(0,int(n)):
        payload = {
            'pageIndex': 1,
            'pageSize:': 50,
            'relativeOffset': 0,
            'searchTimeType': -1,
            'orderType': 50,
        }
        headers = {
            'accept': 'application/json',
            'content-type': 'application/json',
            'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko)Chrome/91.0.4472.77 Safari/537.36'
        }
        url = 'https://study.163.com/j/search/hotwords.json?hotwordType=0'
        response = requests.post(url, headers=headers, json=payload)
        g = response.json()
        print(c,' ',g['result']['recomHotword'][1]['name'],':',g['result']['recomHotword'][1]['url'])
        c = c + 1
        time.sleep(1)
    
    
    

    先导入你的requests,然后导入time防止连续爬虫导致崩溃,让他缓一缓,这里的n是获取网页数据的次数,说白了就是for循环的次数,先创建payload,把网页携带的一些参数复制上去,这不用说了吧,在你想要查询的网页右键-“检查”-然后选择network,requests headers就好了,里面url和参数都在里面。

    Headers哪里来?

    跟payload一样,requests headers里面有User-Agent和别的,写全一点。

    URL?

    URL也在json文件里,自己去复制吧。

    爬取数据,耶!

    payload和url设置好后,开始爬取吧,定义一个变量response,我们用post方法把参数urlpayload都写进去。设好后,创建g,用来转换json,最后输出,整条整条显示太繁琐了,直接显示name和url,代码里有,这个c是序号,加1就好了,最后请加个time.sleep(1),防止崩溃。

    成功了!

    运行程序,链接会一条条出现,这感觉!

    1   英语 : https://study.163.com/course/introduction/1004495007.htm
    2   数据可视化 : https://mooc.study.163.com/smartSpec/detail/1202883605.htm
    3   相见恨晚,雅思一次冲7 : https://ke.study.163.com/course/detail/100082387?Pdt=ydk&inLoc=app_ss_zdssc
    4   零基础入门C语言 : https://study.163.com/sl/VRC4?Pdt=ydk&inLoc=app_ss_zdssc
    5   数据可视化 : https://mooc.study.163.com/smartSpec/detail/1202883605.htm

    三连!我要去吃饭了!

    cs