python写网络爬虫微博用户发布的视频

微博用户发布在奉天承芸超话的视频:


    def run(self):
        s = requests.Session()
        # 暂时先抓self.TotalPage=200页
        for i in range(1,self.TotalPage):
            time.sleep(1)
            if self.end_flag:
                print("self.end_flag TRUE,leave run")
                break
            if i == 1:
                self.url = self.basic_weibo_url
            else:
                self.url = self.basic_weibo_url + '&since_id=' + str(self.since_id)

            weibo_response = s.get(self.url)
            weibo_data = weibo_response.json()
            if weibo_response.status_code != 200:
                print("end process for reponse.status_code=", weibo_response.status_code)
                self.end_flag = True
                return self.end_flag
            if weibo_data['data'].get('cards'):
                cards = weibo_data['data']['cards']
                if weibo_data['data'].get('cardlistInfo'):
                    cardlistInfo = weibo_data['data']['cardlistInfo']
                    self.since_id = cardlistInfo.get('since_id')
                    if self.since_id is None:
                        print("end process for since_id is empty")
                        self.end_flag = True
                        return self.end_flag
                    for card in cards:
                        if card.get('mblog'):
                            m_blog = card.get('mblog')
                            text = m_blog.get('text')
                            mid = m_blog.get('mid')
                            source = m_blog.get('source')
                            screen_name = m_blog.get('user').get('screen_name')
                            # created_at = ''
                            # edit_at = ''
                            created_at = m_blog.get('created_at')
                            edit_at = m_blog.get('edit_at')
                            #发布在奉天承芸超话里面
                            if source == self.weibo_str:
                                # print([mid,text,screen_name])
                                if m_blog.get('page_info'):
                                    page_info = m_blog.get('page_info')
                                    # content2 = ''
                                    content2 = page_info.get('content2')
                                    type = page_info.get('type')
                                    if page_info.get('type') == "video":
                                        page_url = page_info.get('page_url')
                                        # play_count = ''
                                        play_count = page_info.get('play_count')
                                        page_title = page_info.get('title')
                                        self.item_num = self.item_num + 1
                                        if page_info.get('page_pic'):
                                            video_pic_url = ''
                                            page_pic = page_info.get('page_pic')
                                            video_pic_url = page_pic['url']
                                            # print(video_pic_url)
                                        print("append")
                                        ws1.append(
                                            [str(self.item_num), page_title, screen_name, content2, "1-视频", "3-双人合作舞台-饭拍",
                                             "2-微博", page_url, video_pic_url, created_at, play_count, '', ''])

                    wb.save('media.xlsx')
                else:
                    print("end process for there is not cardlistInfo")
                    self.end_flag = True
                    return self.end_flag

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值