爬取微信公众号cookie获取与token获取

爬取逻辑

  1. 使用selenium自动化工具,获取微信公众号平台的cookies以及加密token
  2. 把cookie与token用在requests函数中模拟浏览器访问微信公众号服务中的素材管理
  3. 在素材管理中搜索,公众号名称与文章,获取文章地址与保存

使用selenium获取token

1、需要扫码登录,获取token,与 登录状态的cookie,使用get_cookies()方法或页面cookies
2、通过xpath匹配出一个url,re匹配出token
3、

下面是代码的实现

#遵循PEP8规则
import time
import json
import re

from selenium import webdriver
from lxml import html



# 获取cookies和token
class C_ookie:
    # 初始化
    def __init__(self):
        self.html = ''

    # 获取cookie
    def get_cookie(self):
        url = 'https://mp.weixin.qq.com'
        Browner = webdriver.Chrome()
        Browner.get(url)
        # 获取账号输入框
        ID = Browner.find_element_by_name('account')
        # 获取密码输入框
        PW = Browner.find_element_by_name('password')
        # 输入账号
        id = ''
        pw = ''
        # id = input('请输入账号:')
        # pw = input('请输入密码:')
        ID.send_keys(id)
        PW.send_keys(pw)
        # 获取登录button,点击登录
        Browner.find_element_by_class_name('btn_login').click()
        # 等待扫二维码
        time.sleep(10)
        ck = Browner.get_cookies()
        ck1 = json.dumps(ck)
        with open('ck.txt','w') as f :
            f.write(ck1)
            f.close()
        self.html = Browner.page_source

	# 获取token,在页面中提取
    def Token(self):
        etree = html.etree
        h = etree.HTML(self.html)
        url = h.xpath('//a[@title="首页"]/@href')[0]
        print(url)
        token = re.findall('\d+',url)
        print(token)
        with open('token.txt', 'w') as f:
            f.write(token)
            f.close()


C = C_ookie()
C.get_cookie()
C.Token()

最主要的秘钥已经解决了,剩下的就是模范浏览器访问后端的,期间不要过猛,否则容易被发现,被腾讯封个几小时

接下来准备爬取微信公众号里面的资源url了,可以先自己爬取一下,下一篇博客咱们一起来获取

在Python中实现微信批量加好友涉及到网络爬虫技术和微信的OAuth授权机制。由于微信有严格的隐私政策,并且其API对外部开发者封闭,直接模拟人工操作添加好友可能是唯一可行的方式。这通常需要使用到第三方库如`itchat`,它提供了一种自动化聊天机器人的功能,可以登录微信并执行某些基础操作。 以下是一个简单的步骤概述: 1. **安装必要的库**: 首先,你需要安装`itchat`库和其他依赖项,可以通过pip安装: ``` pip install itchat ``` 2. **配置微信授权**: 使用微信提供的网页授权流程,获取access_token和openid。你需要创建一个微信公众号,设置相应的回调地址并获取appsecret。然后在Python脚本中通过`itchat.getQRCode`生成二维码链接让用户扫码授权。 3. **自动登录和验证**: 用户扫码授权后会跳转到回调URL,你需要在那里处理用户的code,换取access_token和openid。使用`itchat.login`函数登录微信,可能会提示是否授权,确认后可以继续。 4. **批量添加好友**: 利用登录后的session,你可以调用`friend = itchat.search_friends(name)`来搜索并获取指定名称的好友信息。如果找到匹配的朋友,使用`friend.updateFrienship()`尝试添加好友。 5. **处理异常**: 微信的API可能限制了每天的操作次数,或者存在其他不可预测的错误。记得加入适当的错误处理和延时逻辑。 请注意,由于微信对此类操作有严格的反爬策略,并且可能封禁异常账户,因此在实际应用中,这种方法并不稳定,而且可能会违反微信的服务条款。除非得到腾讯官方的认可,否则不建议用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值