#の今日の目標 **公共のマイクロチャネル番号**すべての記事をクロールし、コードの50行 今日は公共マイクロチャンネル番号をクロールされ、公共の番号をクロールする2つの一般的な方法があります。まず、唯一の欠点最新記事のための10回のプッシュで、Sogouの検索を介して取得する、 今日はより便利に、他の方法に比べて、PCのキャプチャーマイクロチャネルのアプローチの仕方によって国民を取得するには、別の資料番号を導入しました。 分析:我々は、すべての記事がドロップダウンリフレッシュ要求mp.weixin.qq.comならないために起こっていることがわかっ / MPが/ ホームリンクを追加しないXXXませ公共、xxxはprofile_ext)このインタフェースを表します。 :いくつかのテストは、以下のパラメータを分析するために使用された後 __bizを:ユーザと公衆の間で一意のID番号、 UIN:ユーザーのプライバシーのID キー:秘密鍵の要求、一定の期間は無効となります。 オフセット:オフセット 数:あたりの要求の数 *コードの実装* `` ` インポート要求 のインポートJSON のインポート時間を から pymongo インポートMongoClient URL = 「http://mp.weixin.qq.com/mp/xxx 」(ホームリンクを追加していないん公共、xxxはprofile_extを表していない) #Mongoの構成 CONN = MongoClient(' 127.0.0.1 '、27017 ) デシベル = conn.wx #接続WXデータベース、それが自動的に作成されません mongo_wx = db.article #を記事を使用してセット、自動的に作成されていない DEF get_wx_article(BIZ、UIN、キー、インデックス= 0、COUNT = 10 ): オフセット =(インデックス+ 1)* COUNT のparams = { ' __biz ' BIZ、: ' UIN ' :UIN、 ' キー「:キーは、 」オフセット":オフセット ' カウント' :カウント、 ' 作用':' GETMSG ' 、 ' F ':' JSON ' } ヘッダー = { ' のUser-Agent ':' のMozilla / 5.0(Windows NTの10.0; Win64の、のx64)のAppleWebKit / 537.36 (KHTML、ヤモリ等)クローム/ 74.0.3729.131サファリ/ 537.36 ' } 応答 = requests.get(URL = URL、paramsは= paramsは、ヘッダー= ヘッダ) resp_json = response.json() IF resp_json.get(' のErrMsg ')== ' OK ' : resp_json = response.json() #ページングデータがあるかどうか、戻り値の決定 can_msg_continueのresp_json = [ ' can_msg_continue ' ] #現在のタブ投稿 MSG_COUNT =をresp_json [ ' MSG_COUNT ' ] general_msg_list = json.loads(resp_json [ ' general_msg_list ' ]) 一覧 = general_msg_list.get(' リスト' ) 印刷(リスト、" ************** " ) のための私で一覧: app_msg_ext_info = I [ ' app_msg_ext_info ' ] #のタイトル タイトル= app_msg_ext_info [ ' タイトル' ] #の記事アドレス content_url = app_msg_ext_info 【' CONTENT_URL ' ] #1 カバー図は app_msg_ext_info覆う= [ ' カバー' ] #1 名 日時= I [ ' comm_msg_info ' ] [ ' 日時' ] 日時 = time.strftime(" %Y-%M-%D%H:%のM:%S " 、time.localtime(日時)) mongo_wx.insert({ ' タイトル' :タイトル、 ' content_url ' :content_url、 ' カバー' :カバー、 ' 日時' :日時 }) であれば can_msg_continue == 1 : リターン真の リターンFalseの 他: 印刷(' 获取文章异常は... ' ) を返すFalseの 場合 __name__ == ' __main__ ' : ビズ = ' Mzg4MTA2Nzg0NA == ' UIN = ' NDIyMTI5NDM1 ' キー = ' 20a680e825f03f1e7f38f326772e54e7dc0fd02ffba17e92730ba3f0a0329c5ed310b0bd55
b3c0b1f122e5896c6261df2eaea4036ab5a5d32dbdbcb0a638f5f3605cf1821decf486bb6eb4d92d36c620 ' インデックス =0 ながら 1 : 印刷(F ' 開始公衆号をクロール{インデックス+ 1}ページの記事。' ) フラグに = get_wx_article(BIZ、UIN、キー、インデックス= 指数) #防ぐ調和休止8秒 time.sleep(8 ) 指数 + = 1 IF ないフラグ: 印刷(「パブリック番号クロール物品はプログラムを終了し、完了した」) BREAKの 印刷(F ' パブリック号{インデックス+を取得する準備ができて.......... 1}物品。' ) `` `