([\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條評論
    主站蜘蛛池模板: 9999网站| 日韩欧美一区二区三区 | 国产99久久精品一区二区永久免费 | 99在线视频观看 | 99精品丰满人妻无码A片 | 精品女同一区二区三区免费播放 | 欧美三级一区 | www.久久 | 国产免费一区二区三区免费视频 | 天干天夜啪天天碰 | 本道综合精品 | 久久久精品网 | 九一传媒在线观看 | 亚洲亚色| 久久久久久av | 亚洲尻逼视频 | 日日夜av| 精品国产一区二区三区四 | 欧美成人h版在线观看 | 九九久久精品这里久久网 | 久草资源在线视频 | 亚洲精品久久久久一区二区三区 | 97天堂 | 超久久| 久久经典国产视频 | 久久69精品久久久久久国产越南 | 成人欧美网站免费 | 97在线视频免费 | 精品欧美亚洲韩国日本久久 | 国产成人精品免费视频大全可播放的 | 精品综合 | 欧美操片 | 欧美激情免费观看一区 | 色天天综合色天天碰 | 久久国产精品视频 | a级成人毛片久久 | 久久人| 草久在线观看视频 | 国产乱码精品一区二区三上 | 中文字幕一区二区在线观看 | www.久久精品 |