([\s\S]*?)'Entry="http://weixin" />

欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

Python 抓取微信公眾號賬號信息的方法

系統 1662 0

Python 抓取微信公眾號賬號信息的方法_第1張圖片

搜狗微信搜索提供兩種類型的關鍵詞搜索,一種是搜索公眾號文章內容,另一種是直接搜索微信公眾號。通過微信公眾號搜索可以獲取公眾號的基本信息及最近發布的10條文章,今天來抓取一下微信公眾號的賬號信息

爬蟲

首先通過首頁進入,可以按照類別抓取,通過“查看更多”可以找出頁面鏈接規則:

Python 抓取微信公眾號賬號信息的方法_第2張圖片

            
import requests as req
import re
reTypes = r'id="pc_\d*" uigs="(pc_\d*)">([\s\S]*?)'
Entry = "http://weixin.sogou.com/"
entryPage = req.get(Entry)
allTypes = re.findall(reTypes, getUTF8(entryPage))
for (pcid, category) in allTypes:
  for page in range(1, 100):
    url = 'http://weixin.sogou.com/pcindex/pc/{}/{}.html'.format(pcid, page)
    print(url)
    categoryList = req.get(url)
    if categoryList.status_code != 200:
      break
          

上面代碼通過加載更多頁面獲取加載列表,進而從其中抓取微信公眾號詳情頁面:

            
reProfile = r'
            
  • 進入詳情頁面可以獲取公眾號的 名稱/ID/功能介紹/賬號主體/頭像/二維碼/最近10篇文章 等信息:

    Python 抓取微信公眾號賬號信息的方法_第3張圖片 ?

    注意事項

    詳情頁面鏈接: http://mp.weixin.qq.com/profile?src=3&timestamp=1477208282&ver=1&signature=8rYJ4QV2w5FXSOy6vGn37sUdcSLa8uoyHv3Ft7CrhZhB4wO-bbWG94aUCNexyB7lqRNSazua-2MROwkV835ilg==

    1. 驗證碼

    訪問詳情頁面時有可能需要驗證碼,自動識別驗證碼還是很有難度的,因此要做好爬蟲的偽裝工作。

    2. 未保存詳情頁面鏈接

    詳情頁面的鏈接中有兩個重要參數: timestamp & signature ,這說明頁面鏈接是有時效性的,所以保存下來應該也沒用;

    3. 二維碼

    二維碼圖片鏈接同樣具有時效性,因此如需要最好將圖片下載下來。

    用 Flask 展示結果

    最近 Python 社區出現了一款異步增強版的 Flask 框架: Sanic ,基于 uvloop 和 httptools ,可以達到異步、更快的效果,但保持了與 Flask 一致的簡潔語法。雖然項目剛起步,還有很多基本功能為實現,但已經獲得了很多關注( 2,222 Star )。這次本打算用抓取的微信公眾號信息基于 Sanic 做一個簡單的交互應用,但無奈目前還沒有加入模板功能,異步的 redis 驅動也還有 BUG 沒解決,所以簡單嘗試了一下之后還是切換回 Flask + SQLite,先把抓取結果呈現出來,后續有機會再做更新。

    安裝 Sanic

    Python 抓取微信公眾號賬號信息的方法_第4張圖片

    Debug Sanic

    Python 抓取微信公眾號賬號信息的方法_第5張圖片 ?

    Flask + SQLite App

                
    from flask import g, Flask, render_template
    import sqlite3
    app = Flask(__name__)
    DATABASE = "./db/wx.db"
    def get_db():
      db = getattr(g, '_database', None)
      if db is None:
        db = g._database = sqlite3.connect(DATABASE)
      return db
    @app.teardown_appcontext
    def close_connection(exception):
      db = getattr(g, '_database', None)
      if db is not None:
        db.close()
    @app.route("/
                
                  ")
    @app.route("/")
    def hello(page=0):
      cur = get_db().cursor()
      cur.execute("SELECT * FROM wxoa LIMIT 30 OFFSET ?", (page*30, ))
      rows = []
      for row in cur.fetchall():
        rows.append(row)
      return render_template("app.html", wx=rows, cp=page)
    if __name__ == "__main__":
      app.run(debug=True, port=8000)
                
              

    總結

    以上所述是小編給大家介紹的Python 抓取微信公眾號賬號信息,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!
    如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!


    更多文章、技術交流、商務合作、聯系博主

    微信掃碼或搜索:z360901061

    微信掃一掃加我為好友

    QQ號聯系: 360901061

    您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

    【本文對您有幫助就好】

    您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦?。?!

    發表我的評論
    最新評論 總共0條評論
    主站蜘蛛池模板: 91久久国产 | 成人免费大片a毛片 | 狠狠干天天干 | 国产短视频精品区第一页 | 色悠悠久久久久 | 色综合久久天天综合绕观看 | www.伊人.com| 免费人成年短视频在线观看免费网站 | 日日日bbb | 伊人9999 | jizjizjiz中国护士18 | xx免费视频 | 国产成人啪精品视频免费网站软件 | 日本理伦片午夜理伦片 | 色午夜 | 一级片视频免费 | 欧美高清不卡午夜精品免费视频 | 美女下面被cao出水 玖玖玖影院 | 色蜜桃网 | 久久我们这里只有精品国产4 | 奇米影视77| 欧美一区二区三区大片 | 国产日韩一区二区 | 免费观看成人拍拍拍1000视频 | 欧美日韩无线码免费播放 | 日韩a电影| 久草青青草 | 欧美一区久久久 | 99久久精品免费观看国产 | 午夜在线观看免费视频 | 91成人免费电影 | 国产精品不卡 | 91在线精品视频 | 一级做a爰片性色毛片视频图片 | 欧美视频第一页 | 亚洲综合久久伊人热 | 亚洲国产精品久久 | 欧美激情啪啪 | 一级做a爰性色毛片免费 | 天天操比| 台湾三级无遮挡在线播放 |