新浪微博美女图片的爬虫

本文介绍了如何使用Python爬虫登录新浪微博并获取美女图片。首先分析登录时的验证码获取及模拟登录过程,接着解析微博JSON数据,定位到图片链接,并下载图片到本地,最后展示了爬取结果。
摘要由CSDN通过智能技术生成

新浪微博美女图片的爬虫

一 引言

由于毕设要获取微博上的一些数据,但是微博的openAPI不仅有次数限制,还不方便获取某一类别的数据,所以还是爬虫方便一些,自己需要什么数据就获取什么数据,不过能够调用API实现的还是调吧,毕竟微博的反爬机制还是很强的。作为新手就选择爬取手机网页的新浪微博,相对电脑网页上的反爬要好多了。

二 新浪微博的模型登陆

1、获取微博的验证码

微博的验证码没有那么好获取,经过对站点分析,在获取验证码的时候请求的数据有
“checkpin” “entry” “su” “callback”这四个参数,而su是经过base64对用户名加密的,callback则是对当前时间进行了变换。获取了验证码,自动识别验证码难度挺大,就选择人工识别并输入。

def login_pre(username, Session):
    '''
    获取验证码
    '''
    su = (base64.b64encode(quote_plus(username).encode('utf-8'))
          ).decode('utf-8')  # 用户名用base64加密
    pre_Data = {
        "checkpin": '1',
        "entry": 'mweibo',
        "su": su,
        "callback": 'jsonpcallback' + str(int(time.time() * 1000) + math.floor(random.random() * 100000))
    }
    pre_headers = headers.copy()
    pre_headers['Host'] = 'login.sina.com.cn'
    pre_headers['Referer'] = 'https://passport.weibo.cn/signin/login'
    pre_url = 'https://login.sina.com.cn/sso/prelogin.php'
    pre_text = Session.get(pre_url, params=pre_Data, headers=pre_headers).text
    try:
        pre_json = json.loads(pre_text[0])
        if pre_json[
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值