微博定向爬取某用户下所有微博图片

Robin 5918次浏览

摘要:好久没写爬虫了,今天没事就想着写点啥,发现微博某博主经常发一些美图的微博,于是就有了今天的这个文章。

好久没写爬虫了,今天没事就想着写点啥,发现微博没博主经常发一些图片的微博,于是就有了今天的这个文章。

今天写的这个爬虫很简单,不登录,也不用cookie

下面上代码吧:

需要注意一点,只有card_type为9的才是微博内容

def main(self, uid, page):
    cards = self.get_cards(uid, page)
    for card in cards:
        if card.get('card_type') == 9:
            id = card.get('mblog').get('id')
            text = card.get('mblog').get('text')
            text = Tool.replace(text)
            pics = card.get('mblog').get('pics')
            if pics:
                print('**************************************')
                print(u'@微博 %s:%s' %(id, text))
                for pic in pics:
                    img_url = pic.get('large').get('url')
                    filename = img_url[-21:]
                    try:
                        request.urlretrieve(img_url, 'pics/' + filename)
                        print('**%s == download successful**' %img_url)
                    except Exception:
                        print('**%s == download failed**' % img_url)
                print('**************************************'+'\n')


获取博主微博内容方法:

def get_cards(self, uid, page):
    url = self.url.format(uid, uid, uid, page)
    response = requests.get(url)
    ob_json = json.loads(response.text)
    cards = ob_json.get('data').get('cards')
    return cards


运行了后忘了关了,一晚上的结果。。。

image.png

image.png

原创文章转载请注明出处。

相关文章