爬取斗鱼所有房间及直播源

20 篇文章 0 订阅
# -*- coding: utf-8 -*-
from douyu import main
import requests
import json,sys
import random



reload(sys)
sys.setdefaultencoding("utf-8")

Max=165#斗鱼页数



def createRandomString(len):
    print ('wet'.center(10,'*'))
    raw = ""
    range1 = range(58, 65) # between 0~9 and A~Z
    range2 = range(91, 97) # between A~Z and a~z

    i = 0
    while i < len:
        seed = random.randint(48, 122)
        if ((seed in range1) or (seed in range2)):
            continue;
        raw += chr(seed);
        i += 1
    return raw



def getNumber():
    p = 0
    urls = ['https://www.douyu.com/gapi/rkc/directory/0_0/{}'.format(page) for page in range(1, Max)]
    fp=open("douyu_"+createRandomString(4)+".txt","w")
    fp.write("「斗鱼」\n")
    for url in urls:
        res = requests.get(url)
        j = json.loads(res.text)
        l1 = j['data']
        l2 = l1['rl']
        p = p+1
        fp.write("==第%d页==\n"% p)
        for i in range(len(l2)):
            Anchor = l2[i]['nn']            
            RoomNumber = l2[i]['rid']        
            print Anchor+","+main(RoomNumber)+"\n"
            if not "未开播" in main(RoomNumber):
                fp.write(Anchor+","+main(RoomNumber)+"\n")

    fp.write("\n")
    fp.close()
    print(u'斗鱼房间数据已保存')
    
getNumber()

在这里插入图片描述
在这里插入图片描述
cmd加入显示直播源;
txt加入分页,每120条数据为一页,最后一页除外;

main模块请看上一篇

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

佐倉

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

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

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

打赏作者

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

抵扣说明:

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

余额充值