Python 위 챗 공식 번호 글 에서 얻 은 예제 코드

사고
우 리 는 웹 페이지 의 위 챗 공식 플랫폼 의 그림 과 글 메시지 의 하이퍼링크 를 통 해 우리 가 필요 로 하 는 인 터 페 이 스 를 얻 었 다.
图文消息
超链接
인터페이스 에서 우 리 는 대응 하 는 위 챗 공중 번호 와 대응 하 는 모든 위 챗 공중 번호 문장 을 얻 을 수 있다.
인터페이스 분석
위 챗 공식 번호 의 인터페이스 가 져 오기:
https://mp.weixin.qq.com/cgi-bin/searchbiz?
인자:
action=search_biz
begin=0
count=5
query=공중 번호 이름
token=계 정 마다 대응 하 는 token 값
lang=zh_CN
f=json
ajax=1
요청 방식:
GET
그래서 이 인터페이스 에서 우 리 는 token 만 얻 으 면 되 고 query 는 검색 해 야 할 공식 번호 이 며 token 은 로그 인 한 웹 링크 를 통 해 얻 을 수 있 습 니 다.
微信公众号
공식 번호 에 해당 하 는 글 의 인 터 페 이 스 를 가 져 옵 니 다:
https://mp.weixin.qq.com/cgi-bin/appmsg?
인자:
action=list_ex
begin=0
count=5
fakeid=MjM5NDAwMTA2MA==
type=9
query=
token=557131216
lang=zh_CN
f=json
ajax=1
요청 방식:
GET
이 인터페이스 에서 우리 가 가 져 와 야 할 값 은 이전 token 과 fakeid 가 있 고 이 fakeid 는 첫 번 째 인터페이스 에서 가 져 올 수 있 습 니 다.그래서 우 리 는 위 챗 공중 호 문장의 데 이 터 를 얻 을 수 있다.
微信公众号
실현
 첫 번 째 단계:
우선 selenium 시 뮬 레이 션 로그 인 을 통 해 쿠키 와 대응 하 는 token 을 가 져 와 야 합 니 다.

def weChat_login(user, password):
  post = {}
  browser = webdriver.Chrome()
  browser.get('https://mp.weixin.qq.com/')
  sleep(3)
  browser.delete_all_cookies()
  sleep(2)
  #            
  browser.find_element_by_xpath("//a[@class='login__type__container__select-type']").click()
  sleep(2)
  #       
  input_user = browser.find_element_by_xpath("//input[@name='account']")
  input_user.send_keys(user)
  input_password = browser.find_element_by_xpath("//input[@name='password']")
  input_password.send_keys(password)
  sleep(2)
  #     
  browser.find_element_by_xpath("//a[@class='btn_login']").click()
  sleep(2)
  #       
  print('      ')
  sleep(20)
  #       
  browser.get('https://mp.weixin.qq.com/')
  sleep(5)
  #         
  url = browser.current_url
  #     cookie
  cookies = browser.get_cookies()
  for item in cookies:
    post[item['name']] = item['value']
  #       
  cookie_str = json.dumps(post)
  #      
  with open('cookie.txt', 'w+', encoding='utf-8') as f:
    f.write(cookie_str)
  print('cookie       ')
  #            ,   token
  paramList = url.strip().split('?')[1].split('&')
  #           
  paramdict = {}
  for item in paramList:
    paramdict[item.split('=')[0]] = item.split('=')[1]
  #   token
  return paramdict['token']
로그 인 방법 을 정 의 했 습 니 다.그 안의 매개 변 수 는 로그 인 한 계 정과 비밀번호 이 고 쿠키 를 저장 하 는 사전 의 값 을 정 의 했 습 니 다.아 날로 그 사용자 가 해당 하 는 계 정 비밀 번 호 를 입력 하고 로그 인 을 클릭 하면 스 캔 인증 이 나타 나 고 로그 인 한 위 챗 으로 스 캔 하면 됩 니 다.
현재 웹 페이지 를 새로 고침 한 후 현재 쿠키 와 token 을 가 져 와 되 돌려 줍 니 다.
두 번 째 단계:
1.대중 번호 인 터 페 이 스 를 요청 하고 우리 가 필요 로 하 는 fakeid 를 가 져 옵 니 다.

 url = 'https://mp.weixin.qq.com'
  headers = {
    'HOST': 'mp.weixin.qq.com',
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.183 Safari/537.36 Edg/86.0.622.63'
  }
  with open('cookie.txt', 'r', encoding='utf-8') as f:
    cookie = f.read()
  cookies = json.loads(cookie)
  resp = requests.get(url=url, headers=headers, cookies=cookies)
  search_url = 'https://mp.weixin.qq.com/cgi-bin/searchbiz?'
  params = {
    'action': 'search_biz',
    'begin': '0',
    'count': '5',
    'query': '        ',
    'token': token,
    'lang': 'zh_CN',
    'f': 'json',
    'ajax': '1'
  }
  search_resp = requests.get(url=search_url, cookies=cookies, headers=headers, params=params)
우리 가 얻 은 token 과 쿠키 를 전송 한 다음 requests.get 요청 을 통 해 되 돌아 오 는 위 챗 공식 번호 의 json 데 이 터 를 얻 습 니 다.

lists = search_resp.json().get('list')[0]
위의 코드 를 통 해 해당 하 는 공중 번호 데 이 터 를 얻 을 수 있 습 니 다.

fakeid = lists.get('fakeid')
위의 코드 를 통 해 대응 하 는 fakeid 를 얻 을 수 있 습 니 다.
2.위 챗 공중 번호 문장 인 터 페 이 스 를 요청 하고 우리 가 필요 로 하 는 문장 데 이 터 를 가 져 옵 니 다.

 appmsg_url = 'https://mp.weixin.qq.com/cgi-bin/appmsg?'
  params_data = {
    'action': 'list_ex',
    'begin': '0',
    'count': '5',
    'fakeid': fakeid,
    'type': '9',
    'query': '',
    'token': token,
    'lang': 'zh_CN',
    'f': 'json',
    'ajax': '1'
  }
  appmsg_resp = requests.get(url=appmsg_url, cookies=cookies, headers=headers, params=params_data)
우 리 는 fakeid 와 token 을 전송 한 후에 requests.get 요청 인 터 페 이 스 를 호출 하여 돌아 온 json 데 이 터 를 얻 었 습 니 다.
우 리 는 위 챗 공중 호 문장 에 대한 오 르 기 를 실현 했다.
총화
위 챗 공식 번호 글 에 대한 오 르 기 를 통 해 selenium 과 requests 의 용법 과 요청 인 터 페 이 스 를 어떻게 얻 는 지 파악 해 야 합 니 다.그러나 주의해 야 할 것 은 우리 가 순환 적 으로 글 을 가 져 올 때 지연 시간 을 설정 해 야 한 다 는 것 이다.그렇지 않 으 면 계 정 이 쉽게 차단 되 어 돌아 오 는 데 이 터 를 얻 지 못 할 것 이다.
파 이 썬 위 챗 공식 번호 글 에서 얻 은 예제 코드 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 파 이 썬 위 챗 공식 번호 글 에서 얻 은 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 지지 바 랍 니 다!

좋은 웹페이지 즐겨찾기