HOME 首頁
SERVICE 服務(wù)產(chǎn)品
XINMEITI 新媒體代運營
CASE 服務(wù)案例
NEWS 熱點資訊
ABOUT 關(guān)于我們
CONTACT 聯(lián)系我們
創(chuàng)意嶺
讓品牌有溫度、有情感
專注品牌策劃15年

    搜狗公眾號文章搜索(搜狗公眾號文章搜索網(wǎng)址)

    發(fā)布時間:2023-03-19 05:51:58     稿源: 創(chuàng)意嶺    閱讀: 107        問大家

    大家好!今天讓創(chuàng)意嶺的小編來大家介紹下關(guān)于搜狗公眾號文章搜索的問題,以下是小編對此問題的歸納整理,讓我們一起來看看吧。

    開始之前先推薦一個非常厲害的Ai人工智能工具,一鍵生成原創(chuàng)文章、方案、文案、工作計劃、工作報告、論文、代碼、作文、做題和對話答疑等等

    只需要輸入關(guān)鍵詞,就能返回你想要的內(nèi)容,越精準(zhǔn),寫出的就越詳細(xì),有微信小程序端、在線網(wǎng)頁版、PC客戶端

    官網(wǎng):https://ai.de1919.com

    如需咨詢小紅書相關(guān)業(yè)務(wù)請撥打175-8598-2043,或微信:1454722008

    本文目錄:

    搜狗公眾號文章搜索(搜狗公眾號文章搜索網(wǎng)址)

    一、如何抓取微信所有公眾號最新文章

    經(jīng)常有朋友需要幫忙做公眾號文章爬取,這次來做一個各種方法的匯總說明。

    目前爬取微信公眾號的方法主要有3種:

    • 通過爬取第三方的公眾號文章聚合網(wǎng)站

    • 通過微信公眾平臺引用文章接口

    • 通過抓包程序,分析微信app訪問公眾號文章的接口

    • 通過第三方的公眾號文章聚合網(wǎng)站爬取

      微信公眾號文章一直沒有提供一個對外的搜索功能,直到2013年微信投資搜狗之后,搜狗搜索接入微信公眾號數(shù)據(jù),從此使用搜狗搜索就可以瀏覽或查詢到相關(guān)公眾號以及文章。

      域名是: https://weixin.sogou.com/

    可以直接搜索公眾號或者文章的關(guān)鍵字,一些熱門的公眾號更新還是很及時的,幾乎做到了和微信同步。

    所以,爬一些熱門公眾號可以使用搜狗微信的接口來做,但是一些小眾公眾號是搜索不到的,而且搜狗的防爬機制更新的比較勤,獲取數(shù)據(jù)的接口變化的比較快,經(jīng)常兩三個月就有調(diào)整,導(dǎo)致爬蟲很容易掛,這里還是建議使用 selenium爬比較省心。另外搜狗對每個ip也有訪問限制,訪問太頻ip會被封禁24小時,需要買個ip池來做應(yīng)對。

    還有一些其他公眾號文章聚合網(wǎng)站(比如傳送門)也都存在更新不及時或者沒有收錄的問題,畢竟搜狗這個親兒子都不行。

    通過微信公眾平臺引用文章接口

    這個接口比較隱蔽而且沒法匿名訪問,所有得有一個公眾號,建議新注冊一個公眾號比較好,免得被封。

    下面開始具體步驟:首先登錄自己的微信公眾號,在進去的首頁選擇 新建群發(fā),然后再點擊 自建圖文,在文章編輯工具欄中找到 超鏈接,如下圖:

    點擊這個超鏈接按鈕,就會彈出一個對話框,鏈接輸入方式這一項選中 查找文章,如下圖:

    到這里就可以輸入公眾號的名字,回車之后微信就會返回相匹配的公眾號列表,接著點擊你想抓取的公眾號,就會顯示具體的文章列表了,已經(jīng)是按時間倒序了,最新的文章就是第一條了。

    微信的分頁機制比較奇怪,每個公眾號的每頁顯示的數(shù)據(jù)條數(shù)是不一樣的,分頁爬的時候要處理一下。

    通過chrome分析網(wǎng)絡(luò)請求的數(shù)據(jù),我們想要的數(shù)據(jù)已經(jīng)基本拿到了,文章鏈接、封面、發(fā)布日期、副標(biāo)題等,如

    由于微信公眾平臺登錄驗證比較嚴(yán)格,輸入密碼之后還必須要手機掃碼確認(rèn)才能登錄進去,所以最好還是使用 selenium做自動化比較好。具體微信接口的分析過程我就不列了,直接貼代碼了:

    • import re

    • import time

    • import random

    • import traceback

    • import requests

    • from selenium import webdriver

    • class Spider(object):

    • '''

    • 微信公眾號文章爬蟲

    • '''

    • def __init__(self):

    • # 微信公眾號賬號

    • self.account = '286394973@qq.com'

    • # 微信公眾號密碼

    • self.pwd = 'lei4649861'

    • def create_driver(self):

    • '''

    • 初始化 webdriver

    • '''

    • options = webdriver.ChromeOptions()

    • # 禁用gpu加速,防止出一些未知bug

    • options.add_argument('--disable-gpu')

    • # 這里我用 chromedriver 作為 webdriver

    • # 可以去 http://chromedriver.chromium.org/downloads 下載你的chrome對應(yīng)版本

    • self.driver = webdriver.Chrome(executable_path='./chromedriver', chrome_options=options)

    • # 設(shè)置一個隱性等待 5s

    • self.driver.implicitly_wait(5)

    • def log(self, msg):

    • '''

    • 格式化打印

    • '''

    • print('------ %s ------' % msg)

    • def login(self):

    • '''

    • 登錄拿 cookies

    • '''

    • try:

    • self.create_driver()

    • # 訪問微信公眾平臺

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

    • # 等待網(wǎng)頁加載完畢

    • time.sleep(3)

    • # 輸入賬號

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

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

    • # 輸入密碼

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

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

    • # 點擊登錄

    • self.driver.find_elements_by_class_name('btn_login')[0].click()

    • self.log("請拿手機掃碼二維碼登錄公眾號")

    • # 等待手機掃描

    • time.sleep(10)

    • self.log("登錄成功")

    • # 獲取cookies 然后保存到變量上,后面要用

    • self.cookies = dict([[x['name'], x['value']] for x in self.driver.get_cookies()])

    • except Exception as e:

    • traceback.print_exc()

    • finally:

    • # 退出 chorme

    • self.driver.quit()

    • def get_article(self, query=''):

    • try:

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

    • # 設(shè)置headers

    • headers = {

    • "HOST": "mp.weixin.qq.com",

    • "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.109 Safari/537.36"

    • }

    • # 登錄之后的微信公眾號首頁url變化為:https://mp.weixin.qq.com/cgi-bin/home?t=home/index&lang=zh_CN&token=1849751598,

    • # 從這里獲取token信息

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

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

    • time.sleep(2)

    • self.log('正在查詢[ %s ]相關(guān)公眾號' % query)

    • search_url = 'https://mp.weixin.qq.com/cgi-bin/searchbiz?'

    • # 搜索微信公眾號接口需要傳入的參數(shù),

    • # 有三個變量:微信公眾號token、隨機數(shù)random、搜索的微信公眾號名字

    • params = {

    • 'action': 'search_biz',

    • 'token': token,

    • 'random': random.random(),

    • 'query': query,

    • 'lang': 'zh_CN',

    • 'f': 'json',

    • 'ajax': '1',

    • 'begin': '0',

    • 'count': '5'

    • }

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

    • response = requests.get(search_url, cookies=self.cookies, headers=headers, params=params)

    • time.sleep(2)

    • # 取搜索結(jié)果中的第一個公眾號

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

    • # 獲取這個公眾號的fakeid,后面爬取公眾號文章需要此字段

    • fakeid = lists.get('fakeid')

    • nickname = lists.get('nickname')

    • # 微信公眾號文章接口地址

    • search_url = 'https://mp.weixin.qq.com/cgi-bin/appmsg?'

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

    • params = {

    • 'action': 'list_ex',

    • 'token': token,

    • 'random': random.random(),

    • 'fakeid': fakeid,

    • 'lang': 'zh_CN',

    • 'f': 'json',

    • 'ajax': '1',

    • 'begin': '0', # 不同頁,此參數(shù)變化,變化規(guī)則為每頁加5

    • 'count': '5',

    • 'query': '',

    • 'type': '9'

    • }

    • self.log('正在查詢公眾號[ %s ]相關(guān)文章' % nickname)

    • # 打開搜索的微信公眾號文章列表頁

    • response = requests.get(search_url, cookies=self.cookies, headers=headers, params=params)

    • time.sleep(2)

    • for per in response.json().get('app_msg_list', []):

    • print('title ---> %s' % per.get('title'))

    • print('link ---> %s' % per.get('link'))

    • # print('cover ---> %s' % per.get('cover'))

    • except Exception as e:

    • traceback.print_exc()

    • if __name__ == '__main__':

    • spider = Spider()

    • spider.login()

    • spider.get_article('python')

    代碼只是作為學(xué)習(xí)使用,沒有做分頁查詢之類。實測過接口存在訪問頻次限制,一天幾百次還是沒啥問題,太快或者太多次訪問就會被封24小時。

    二、為何我的微信公眾號(認(rèn)證了的服務(wù)號)在搜狗微信里面搜不出來,已經(jīng)有發(fā)文半年多了?

    搜狗里面,必須要特別優(yōu)質(zhì),上了公眾號排名的文章,才能搜索到。

    沒有排名的公眾號,是搜索不到的

    三、為什么我認(rèn)證后的微信公眾號 在搜狗里面搜索不到

    服務(wù)號是搜索不到的,只支持訂閱號及文章的搜索。所以很郁悶啊,我還話了300認(rèn)證費。我的是服務(wù)號,根本搜索不到。

    四、如何通過關(guān)鍵詞采集搜狗微信文章

    第1步點擊“A圖文排版”+“B創(chuàng)建圖文”(如下圖),進入“編輯頁面”(圖文排版頁面)第2步將你想要轉(zhuǎn)載的 文章地址復(fù)制到“C采集 文章地址”這里,點擊“D采集”,文章就會被完整的采集到編輯器里(如下圖)(編輯頁面)如下圖, 文章被完整的采集進來了(在這里你可以根據(jù)自己的需求對文章進行簡單的編輯)第3步點擊下方的“E復(fù)制到剪切板”(如下圖),粘貼到你的公眾號編輯器里,搞定! 文章的轉(zhuǎn)載無須復(fù)雜的過程,這樣操作就可以輕松搞定,如果你還想找的 文章,可以到“搜狗搜索”的“ 搜索”(如下圖)去搜索。

    以上就是關(guān)于搜狗公眾號文章搜索相關(guān)問題的回答。希望能幫到你,如有更多相關(guān)問題,您也可以聯(lián)系我們的客服進行咨詢,客服也會為您講解更多精彩的知識和內(nèi)容。


    推薦閱讀:

    搜狗搜索推廣

    中國最大的搜索引擎(搜狗搜索引擎)

    搜狗移動端市場份額(搜狗 市場份額)

    一個logo是老虎的潮牌(一個logo是老虎的潮牌 臺灣)

    網(wǎng)上賣的電視u盤可靠嗎(網(wǎng)上賣的電視u盤可靠嗎是真的嗎)