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

querylist采集微信公眾號文章(I.素材管理II.新建圖文III.超鏈接IV.查找文章(圖) )

優(yōu)采云 發(fā)布時(shí)間: 2021-09-26 04:37

  querylist采集微信公眾號文章(I.素材管理II.新建圖文III.超鏈接IV.查找文章(圖)

)

  使用官方帳戶(hù)官方帳戶(hù)獲取所需信息。首先,它應該搜索其官方賬戶(hù)中的文章>或公共號碼,并分析數據包中的信息。該過(guò)程中最重要的幾點(diǎn)是:

  1.調用接口以查找文章@>

  轉到主頁(yè)->物料管理->新圖形->超鏈接->查找文章@>

  一,。物資管理

  

  二,。新文本

  

  三,。超鏈接

  

  四,。查找文章@>

  

  2.獲取所有相關(guān)的官方帳戶(hù)信息

  輸入關(guān)鍵字并單擊搜索后,相應的數據包將顯示在右側。在這里更容易找到。選擇XHR后,將只顯示一個(gè)唯一的數據包

  

  一,。查看訪(fǎng)問(wèn)參數

  選擇它,選擇標題欄并滑動(dòng)到底部以查看一系列請求參數。更重要的參數是令牌、查詢(xún)(搜索關(guān)鍵字)、開(kāi)始(起始值)和計數(每頁(yè)顯示的值)。您還可以在標題中看到數據的真實(shí)URL,然后向他發(fā)送請求

  

  二,。查看數據包內容

  官方帳戶(hù)是官方帳戶(hù)

  可以查看包中返回的所有內容(通常為JSON格式),并檢查內容是否與頁(yè)面上的內容相對應。在這里,我們可以在返回的數據列表中看到每個(gè)官方賬戶(hù)的信息,包括fakeid(訪(fǎng)問(wèn)官方賬戶(hù)后將使用文章@>)、公眾號名稱(chēng)、公眾號和總搜索量

  

  三,。過(guò)程分析

  通過(guò)模擬登錄獲得cookie后,我們訪(fǎng)問(wèn)主頁(yè)以獲取URL上的令牌ID,并通過(guò)向捕獲的數據包上的真實(shí)URL發(fā)送請求和數據來(lái)獲取相應的信息。在返回的信息中,我們通過(guò)解析總量來(lái)判斷總量,更改“開(kāi)始翻頁(yè)”的值,最后將信息寫(xiě)入文件

  class Public(metaclass=SingletonType):

def __init__(self, search_key, token, cookie):

self.search_key = search_key

self.url = 'https://mp.weixin.qq.com/cgi-bin/searchbiz?'

self.headers = {

'cookie': cookie,

'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) '

'Chrome/74.0.3729.169 Safari/537.36'

}

self.data = {

'action': 'search_biz',

'token': token,

'lang': 'zh_CN',

'f': 'json',

'ajax': '1',

'random': '0.012103784566473319',

'query': self.search_key,

'count': '5'

}

def get_total(self):

self.data['begin'] = 0

content = requests.get(self.url, headers=self.headers, params=self.data).json()

total = content['total']

if total % 5:

return int(total / 5) + 1

else:

return int(total / 5)

def parse_public(self, num):

self.data['begin'] = num

content = requests.get(self.url, headers=self.headers, params=self.data).json()

return content

def get_data(self):

for num in range(0, self.get_total() + 1, 5):

for data in self.parse_public(num)['list']:

yield {

"name": data['nickname'],

"id": data['fakeid'],

'number': data['alias']

}

time.sleep(random.randint(1, 3))

def write_data(result, filename):

for data in result:

print(data)

with open(filename, 'a', encoding='utf-8') as f:

f.write(json.dumps(data, ensure_ascii=False) + '\n')

  3.抓斗文章@>

  在“官方帳號”下,選擇相應的官方帳號并執行數據包捕獲

  可以查看新數據包,包括下的所有文章@>列表

  I數據包捕獲

  

  二,。查看請求參數

  顯然,我們之前獲得的偽造信息在這里使用。其他一切都和以前一樣。查詢(xún)也是一個(gè)搜索關(guān)鍵字。指定查詢(xún)后,將返回相關(guān)的搜索詞。如果未指定,則默認為空,并返回默認值

  

  三,。查看數據內容

  

  四,。過(guò)程分析

  模擬登陸后獲取cookie和token,fakeid可以自行獲取,查閱上一部分獲取官方賬戶(hù)信息的內容,然后將請求發(fā)送到數據包的真實(shí)URL,通過(guò)app解析返回的數據。msg_ucnt獲取總量、更改開(kāi)始值、翻頁(yè)、獲取文章@>標題、創(chuàng )建時(shí)間(時(shí)間戳需要轉換為時(shí)間格式)、文章@>簡(jiǎn)要說(shuō)明、文章@>鏈接等信息,最后執行寫(xiě)入文件操作

  class Articls(metaclass=SingletonType):

def __init__(self, token, fakeid, cookie, search_key=""):

self.search_key = search_key

self.url = 'https://mp.weixin.qq.com/cgi-bin/appmsg?'

self.headers = {

'cookie': cookie,

'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) '

'Chrome/74.0.3729.169 Safari/537.36',

'host': 'mp.weixin.qq.com',

'Connection': 'keep-alive',

'Accept': 'application/json, text/javascript, */*; q=0.01'

}

self.data = {

"token": token,

"lang": "zh_CN",

"f": "json",

"ajax": "1",

"action": "list_ex",

"count": "5",

"query": self.search_key,

"fakeid": fakeid,

"type": "9",

}

def parse_articles(self, num):

self.data['begin'] = num

content = requests.get(self.url, headers=self.headers, params=self.data).json()

return content

def get_total(self):

self.data['begin'] = 0

content = requests.get(self.url, headers=self.headers, params=self.data).json()

total = content['app_msg_cnt']

if total % 5:

return int(total / 5) + 1

else:

return int(total / 5)

@staticmethod

def convert_2_time(stamp):

return time.strftime("%Y-%m-%d", time.localtime(stamp))

def get_data(self):

if self.get_total():

for num in range(0, self.get_total() + 1, 5):

for data in self.parse_articles(num)['app_msg_list']:

yield {

"title": data['title'],

"create_time": self.convert_2_time(data['create_time']),

# 摘要

'digest': data['digest'],

'link': data['link']

}

time.sleep(random.randint(1, 3))

else:

print("No search item")

exit()

def write_data(result, filename):

for data in result:

print(data)

with open(filename, 'a', encoding='utf-8') as f:

f.write(json.dumps(data, ensure_ascii=False) + '\n')

  4.模擬登錄

  我們都知道具體的操作流程?,F在我們缺少兩樣東西,餅干和代幣。我們仔細觀(guān)察主頁(yè)。代幣隨處可見(jiàn)。HTML代碼和URL隨處可見(jiàn)。我們可以簡(jiǎn)單地從URL獲取cookies。我們可以通過(guò)selenium登錄后獲取cookies

  一,。Cookie獲取

  

  

  通過(guò)selenium調用Chrome瀏覽器以輸入用戶(hù)名和密碼。登錄后單擊“睡眠”一段時(shí)間以?huà)呙栌脩?hù)的代碼。登錄成功后,再次訪(fǎng)問(wèn)主頁(yè)并獲取要寫(xiě)入文件的cookie(是否寫(xiě)入文件取決于您的個(gè)人偏好,您可以返回)

  def login(username, passwd):

cookies = {}

driver = webdriver.Chrome() # 谷歌驅動(dòng)

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

# 用戶(hù)名

driver.find_element_by_xpath('//input[@name="account"]').clear()

driver.find_element_by_xpath('//input[@name="account"]').send_keys(username)

driver.find_element_by_xpath('//input[@name="password"]').clear()

driver.find_element_by_xpath('//input[@name="password"]').send_keys(passwd)

# 登錄

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

time.sleep(20)

# 獲取cookie

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

time.sleep(5)

cookie_items = driver.get_cookies()

for cookie_item in cookie_items:

cookies[cookie_item['name']] = cookie_item['value']

with open('cookie.txt', 'w') as f:

f.write(json.dumps(cookies))

driver.close()

  

  二,。代幣獲取

  讀取文件解析cookie,啟動(dòng)主頁(yè)請求,并在獲得令牌后將其與cookie一起返回

  def get_cookie_token():

url = 'https://mp.weixin.qq.com'

header = {

'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) '

'Chrome/74.0.3729.169 Safari/537.36',

'host': 'mp.weixin.qq.com',

}

with open('cookie.txt', 'r', encoding='utf-8') as f:

cookie = f.read()

cookies = json.loads(cookie)

response = requests.get(url=url, cookies=cookies)

token = re.findall(r'token=(\d+)', str(response.url))[0]

result = []

for k, v in cookies.items():

result.append(k + '=' + v)

return "; ".join(result), token

0 個(gè)評論

要回復文章請先登錄注冊


官方客服QQ群

微信人工客服

QQ人工客服


線(xiàn)

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