亚洲国产精品无码久久大片,亚洲AV无码乱码麻豆精品国产,亚洲品质自拍网站,少妇伦子伦精品无码STYLES,国产精久久久久久久

解決方案:2.請求獲取微信公眾號文章接口,取到我們需要的文章數據

優(yōu)采云 發(fā)布時(shí)間: 2020-12-05 10:14

  2.請求獲取微信官方帳戶(hù)文章界面,并獲取我們需要的文章數據

  一.想法

  我們通過(guò)微信公眾平臺網(wǎng)絡(luò )版圖形消息中的超鏈接獲得所需的界面

  

  

  從界面中,我們可以獲得相應的微信公眾號和所有相應的微信公眾號文章。

  二.界面分析

  訪(fǎng)問(wèn)微信官方帳戶(hù):

  參數:

  action = search_biz

  開(kāi)始= 0

  count = 5

  query =官方帳戶(hù)名

  token =每個(gè)帳戶(hù)對應的令牌值

  lang = zh_CN

  f = json

  ajax = 1

  請求方法:

  獲取

  因此在此界面中,我們只需要獲取令牌,查詢(xún)就是您需要搜索的官方帳戶(hù),并且可以在登錄后通過(guò)Web鏈接獲取令牌。

  

  獲取與官方帳戶(hù)對應的文章界面:

  參數:

  action = list_ex

  開(kāi)始= 0

  count = 5

  fakeid = MjM5NDAwMTA2MA ==

  type = 9

  query =

  token = 557131216

  lang = zh_CN

  f = json

  ajax = 1

  請求方法:

  獲取

  我們需要在此接口中獲取的值是上一步中的令牌和假I(mǎi)D,并且可以在第一個(gè)接口中獲得此假I(mǎi)D。這樣我們就可以獲得微信公眾號文章的數據。

  

  三.要實(shí)現的第一步:

  首先,我們需要模擬通過(guò)硒的登錄,然后獲取cookie和相應的令牌

  def weChat_login(user, password):

post = {}

browser = webdriver.Chrome()

browser.get('https://mp.weixin.qq.com/')

sleep(3)

browser.delete_all_cookies()

sleep(2)

# 點(diǎn)擊切換到賬號密碼輸入

browser.find_element_by_xpath("//a[@class='login__type__container__select-type']").click()

sleep(2)

# 模擬用戶(hù)點(diǎn)擊

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)

# 點(diǎn)擊登錄

browser.find_element_by_xpath("//a[@class='btn_login']").click()

sleep(2)

# 微信登錄驗證

print('請掃描二維碼')

sleep(20)

# 刷新當前網(wǎng)頁(yè)

browser.get('https://mp.weixin.qq.com/')

sleep(5)

# 獲取當前網(wǎng)頁(yè)鏈接

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保存到本地成功')

# 對當前網(wǎng)頁(yè)鏈接進(jìn)行切片,獲取到token

paramList = url.strip().split('?')[1].split('&')

# 定義一個(gè)字典存儲數據

paramdict = {}

for item in paramList:

paramdict[item.split('=')[0]] = item.split('=')[1]

# 返回token

return paramdict['token']

  定義一個(gè)登錄方法,其中的參數是登錄帳戶(hù)和密碼,然后定義一個(gè)字典來(lái)存儲cookie值。通過(guò)模擬用戶(hù),輸入相應的帳戶(hù)密碼,然后單擊“登錄”,然后將出現一個(gè)掃描驗證碼,只需使用登錄微信進(jìn)行掃描即可。

  刷新當前網(wǎng)頁(yè)后,獲取當前的cookie和令牌,然后返回。

  第2步:1.請求相應的官方帳戶(hù)界面,并獲取我們需要的偽造物

   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': '搜索的公眾號名稱(chēng)',

'token': token,

'lang': 'zh_CN',

'f': 'json',

'ajax': '1'

}

search_resp = requests.get(url=search_url, cookies=cookies, headers=headers, params=params)

  傳入我們獲得的令牌和cookie,然后通過(guò)request.get請求獲取返回的微信官方帳戶(hù)的json數據

  lists = search_resp.json().get('list')[0]

  可以通過(guò)上面的代碼獲取相應的官方帳戶(hù)數據

  fakeid = lists.get('fakeid')

  可以通過(guò)上面的代碼獲得相應的偽造物

  2.請求獲取微信官方帳戶(hù)文章界面,并獲取我們需要的文章數據

   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,然后調用request.get請求接口以獲取返回的json數據。

  我們已經(jīng)實(shí)現了對微信官方帳戶(hù)文章的抓取。

  四.摘要

  通過(guò)抓取微信公眾號文章,您需要掌握硒的使用和請求,以及如何獲取請求接口。但是需要注意的是,當我們循環(huán)獲得文章時(shí),必須設置延遲時(shí)間,否則帳戶(hù)將很容易被阻塞,并且無(wú)法獲得返回的數據。

  完成代碼后臺私人消息編輯器01可以

0 個(gè)評論

要回復文章請先登錄注冊


官方客服QQ群

微信人工客服

QQ人工客服


線(xiàn)

亚洲国产精品无码久久大片,亚洲AV无码乱码麻豆精品国产,亚洲品质自拍网站,少妇伦子伦精品无码STYLES,国产精久久久久久久