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

【魔獸世界】谷歌微信公眾號文章接口獲取方法

優(yōu)采云 發(fā)布時(shí)間: 2021-06-11 00:05

  【魔獸世界】谷歌微信公眾號文章接口獲取方法

  一、網(wǎng)上方法:

  1.使用訂閱賬號功能中的查詢(xún)鏈接,(此鏈接現在采取了嚴重的反抄襲措施,訂閱賬號在抓取幾十個(gè)頁(yè)面時(shí)會(huì )被屏蔽,僅供參考)

  詳情請訪(fǎng)問(wèn)此鏈接:/4652.html

  2.微信搜索使用搜狗搜索(此方法只能查看每個(gè)微信公眾號文章的前10條)

  詳情請訪(fǎng)問(wèn)此鏈接:/qiqiyingse/article/details/70050113

  3.先搶公眾號界面,訪(fǎng)問(wèn)界面獲取所有文章連接

  二、環(huán)境配置及材料準備

  1.需要安裝python selenium模塊包,使用selenium中的webdriver驅動(dòng)瀏覽器獲取cookie,達到登錄效果;

  2.使用webdriver功能需要安裝瀏覽器對應的驅動(dòng)插件。我在這里測試的是 Google Chrome。

  3.微信公眾號申請(個(gè)人訂閱號申請門(mén)檻低,服務(wù)號需要營(yíng)業(yè)執照等)

  4、.微信公眾號文章界面地址可在微信公眾號后臺新建圖文消息,可通過(guò)超鏈接功能獲??;

  

  

  通過(guò)搜索關(guān)鍵字獲取所有相關(guān)公眾號信息,但我只取第一個(gè)進(jìn)行測試,其他感興趣的人也可以全部獲取

  

  

  5.獲取要爬取的公眾號的fakeid

  

  

  6.選擇要爬取的公眾號,獲取文章接口地址

  

  

  從 selenium 導入 webdriver

  導入時(shí)間

  導入json

  導入請求

  重新導入

  隨機導入

  user=""

  password="weikuan3344520"

  gzlist=['熊貓']

  #登錄微信公眾號,登錄后獲取cookie信息,保存在本地文本

  def weChat_login():

  #定義一個(gè)空字典來(lái)存儲cookies的內容

  post={}

  #使用網(wǎng)絡(luò )驅動(dòng)程序啟動(dòng)谷歌瀏覽器

  print("啟動(dòng)瀏覽器,打開(kāi)微信公眾號登錄界面")

  driver = webdriver.Chrome(executable_path='C:\chromedriver.exe')

  #打開(kāi)微信公眾號登錄頁(yè)面

  driver.get('/')

  #等待 5 秒

  time.sleep(5)

  print("輸入微信公眾號賬號和密碼...")

  #清除帳號框中的內容

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

  #自動(dòng)填寫(xiě)登錄用戶(hù)名

  driver.find_element_by_xpath("./*//input[@name='account'][@type='text']").send_keys(user)

  #清空密碼框內容

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

  #自動(dòng)填寫(xiě)登錄密碼

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

  //這是重點(diǎn),最近改版后

  #自動(dòng)輸入密碼后,需要手動(dòng)點(diǎn)擊記住我

  print("請點(diǎn)擊登錄界面:記住您的賬號")

  time.sleep(10)

  #自動(dòng)點(diǎn)擊登錄按鈕登錄

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

  #用手機掃描二維碼!

  print("請用手機掃描二維碼登錄公眾號")

  time.sleep(20)

  print("登錄成功")

  #重新加載公眾號登錄頁(yè)面,登錄后會(huì )顯示公眾號后臺首頁(yè),從返回的內容中獲取cookies信息

  driver.get('/')

  #獲取cookies

  cookie_items = driver.get_cookies()

  #獲取的cookies為列表形式,將cookies轉換為json形式存放在名為cookie的本地文本中

  對于 cookie_items 中的 cookie_item:

  post[cookie_item['name']] = cookie_item['value']

  cookie_str = json.dumps(post)

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

  f.write(cookie_str)

  print("Cookies 信息已保存在本地")

  #抓取微信公眾號文章并存入本地文本

  def get_content(query):

  #query 是要抓取的公眾號名稱(chēng)

  #公眾號首頁(yè)

  url =''

  #設置標題

  標題 = {

  "主機":"",

  "用戶(hù)代理": "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:53.0) Gecko/20100101 Firefox/53.0"

  }

  #讀取上一步獲取的cookie

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

  cookie = f.read()

  cookies = json.loads(cookie)

  #登錄后微信公眾號首頁(yè)url改為:/cgi-bin/home?t=home/index&lang=zh_CN&token=1849751598,獲取token信息

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

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

  #搜索微信公眾號接口地址

  search_url ='/cgi-bin/searchbiz?'

  #搜索微信公眾號接口需要傳入的參數,共有三個(gè)變量:微信公眾號token、隨機數random、搜索微信公眾號名稱(chēng)

  query_id = {

  'action':'search_biz',

  'token':令牌,

  'lang':'zh_CN',

  'f':'json',

  'ajax': '1',

  'random': random.random(),

  '查詢(xún)':查詢(xún),

  '開(kāi)始':'0',

  '計數':'5'

  }

  #打開(kāi)搜索微信公眾號接口地址,需要傳入cookies、params、headers等相關(guān)參數信息

  search_response = requests.get(search_url, cookies=cookies, headers=header, params=query_id)

  #取搜索結果第一個(gè)公眾號

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

  #獲取這個(gè)公眾號的fakeid,以后爬取公眾號文章需要這個(gè)字段

  fakeid = list.get('fakeid')

  #微信公眾號文章界面地址

  appmsg_url ='/cgi-bin/appmsg?'

  #搜索文章需要傳入幾個(gè)參數:登錄的公眾號token、爬取文章的fakeid公眾號、隨機數random

  query_id_data = {

  'token':令牌,

  'lang':'zh_CN',

  'f':'json',

  'ajax': '1',

  'random': random.random(),

  'action':'list_ex',

  'begin': '0',#不同的頁(yè)面,這個(gè)參數改變,改變規則是每頁(yè)加5

  '計數':'5',

  '查詢(xún)':'',

  'fakeid':fakeid,

  '類(lèi)型':'9'

  }

  #打開(kāi)搜索到的微信公眾號文章list頁(yè)面

  appmsg_response = requests.get(appmsg_url, cookies=cookies, headers=header, params=query_id_data)

  #Get 文章total number

  max_num = appmsg_response.json().get('app_msg_cnt')

  #每頁(yè)至少有5個(gè)條目,獲取文章頁(yè)總數,爬取時(shí)需要頁(yè)面爬取

  num = int(int(max_num) / 5)

  #起始頁(yè)begin參數,后續每頁(yè)加5

  開(kāi)始 = 0

  當 num + 1> 0 :

  query_id_data = {

  'token':令牌,

  'lang':'zh_CN',

  'f':'json',

  'ajax': '1',

  'random': random.random(),

  'action':'list_ex',

  'begin':'{}'.format(str(begin)),

  '計數':'5',

  '查詢(xún)':'',

  'fakeid':fakeid,

  '類(lèi)型':'9'

  }

  print('翻頁(yè):--------------',begin)

  #獲取文章每個(gè)頁(yè)面的標題和鏈接地址,寫(xiě)入本地文本

  query_fakeid_response = requests.get(appmsg_url, cookies=cookies, headers=header, params=query_id_data)

  fakeid_list = query_fakeid_response.json().get('app_msg_list')

  對于 fakeid_list 中的項目:

  content_link=item.get('link')

  content_title=item.get('title')

  fileName=query+'.txt'

  with open(fileName,'a',encoding='utf-8') as fh:

  fh.write(content_title+":\n"+content_link+"\n")

  數量 -= 1

  begin = int(begin)

  開(kāi)始+=5

  time.sleep(2)

  如果 __name__=='__main__':

  試試:

  #登錄微信公眾號,登錄后獲取cookie信息,保存在本地文本

  weChat_login()

  #登錄后使用微信公眾號文章interface爬取文章

  在 gzlist 中查詢(xún):

  #抓取微信公眾號文章并存入本地文本

0 個(gè)評論

要回復文章請先登錄注冊


官方客服QQ群

微信人工客服

QQ人工客服


線(xiàn)

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