美文网首页
爬bilibili弹幕

爬bilibili弹幕

作者: ygquincy | 来源:发表于2018-08-13 20:21 被阅读0次
    import re, requests
    from lxml import etree
    
    class Blbl(object):
       def __init__(self, url):
           self.url = url
           self.headers = {
               'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36'
           }
    
       def get_html(self,url):
           try:
               return requests.get(url, headers=self.headers)
           except:
               print("获取失败")
    
       def get_xml(self, cid):
           url = "https://comment.bilibili.com/{}.xml"
           response = self.get_html(url.format(cid))
           html = etree.HTML(response.content)
           danmu_list = html.xpath('//d/text()')
           with open('danmu.text', 'w', encoding='utf-8') as f:
               for danmu in danmu_list:
                   f.write(danmu + '\n')
    
       def run(self):
           response = self.get_html(self.url)
           # print(html)
           pattern = re.compile(r'cid=(\d+)\&')
           cid = pattern.findall(response.text)[0]
           self.get_xml(cid)
    
    if __name__ == '__main__':
       url = 'https://www.bilibili.com/video/av16757535'
       bili = Blbl(url)
       bili.run()
    
    

    相关文章

      网友评论

          本文标题:爬bilibili弹幕

          本文链接:https://www.haomeiwen.com/subject/ctcpbftx.html