Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

b站失效了 #27

Open
herunkang2018 opened this issue Nov 12, 2017 · 4 comments · May be fixed by #32
Open

b站失效了 #27

herunkang2018 opened this issue Nov 12, 2017 · 4 comments · May be fixed by #32

Comments

@herunkang2018
Copy link

测试b站的时候 发现网页里面不能直接获取到ROOMID了 但感谢解析的过程

@fy-meng
Copy link

fy-meng commented Jan 8, 2018

似乎是因为live.bilibili.com/[ROOMURL]不再显示ROOMID等信息了,不过这些信息还可以从api.live.bilibil.com/[ROOMURL]里面获取到。
我试了一下,把Bilibili.py中第 21 行BilibiliDanMuClient._get_live_status(self)url中的'http://live.bilibili.com/'改成'http://api.live.bilibili.com/'应该就能解决问题。

def _get_live_status(self):
    url = ('http://live.bilibili.com/'                # change to 'http://api.live.bilibili.com/'
        + self.url.split('/')[-1] or self.url.split('/')[-2])
    self.roomId = re.findall(b'var ROOMID = (\d+);', requests.get(url).content)[0].decode('ascii')
    r = requests.get('http://live.bilibili.com/api/player?id=cid:' + self.roomId)
    self.serverUrl = re.findall(b'<server>(.*?)</server>', r.content)[0].decode('ascii')
    return re.findall(b'<state>(.*?)</state>', r.content)[0] == b'LIVE'

@zhangsheng377
Copy link

zhangsheng377 commented Feb 11, 2018

@fy-meng 额。。第一次提交pull request。。。纯粹想试试。。。。如果觉得不妥,请告知我,我立马关闭pull。。。再次感谢~~~

@Arcadia822
Copy link

参考https://github.com/wuYin/crawler/blob/master/functions.php
可以通过接口https://api.live.bilibili.com/room/v1/Room/room_init?id=${ROOMURL}获取room_id
json路径为data.room_id

@Arcadia822
Copy link

另外之前爬取弹幕服务器的方案也不可用了,在网上搜到的另一个api获取弹幕服务器的接口也挂了,不过从别人博客查到的之前爬到的地址还能用,修改prepare_env后重新跑通了

    def _prepare_env(self):
        return ("broadcastlv.chat.bilibili.com", 2243), {}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants