最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python 抓取微信公眾號(hào)賬號(hào)信息的方法

 更新時(shí)間:2019年06月14日 08:40:03   作者:IT白鴿  
搜狗微信搜索提供兩種類型的關(guān)鍵詞搜索,一種是搜索公眾號(hào)文章內(nèi)容,另一種是直接搜索微信公眾號(hào)。這篇文章主要介紹了Python 抓取微信公眾號(hào)賬號(hào)信息,需要的朋友可以參考下

搜狗微信搜索提供兩種類型的關(guān)鍵詞搜索,一種是搜索公眾號(hào)文章內(nèi)容,另一種是直接搜索微信公眾號(hào)。通過(guò)微信公眾號(hào)搜索可以獲取公眾號(hào)的基本信息及最近發(fā)布的10條文章,今天來(lái)抓取一下微信公眾號(hào)的賬號(hào)信息

爬蟲(chóng)

首先通過(guò)首頁(yè)進(jìn)入,可以按照類別抓取,通過(guò)“查看更多”可以找出頁(yè)面鏈接規(guī)則:

import requests as req
import re
reTypes = r'id="pc_\d*" uigs="(pc_\d*)">([\s\S]*?)</a>'
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

上面代碼通過(guò)加載更多頁(yè)面獲取加載列表,進(jìn)而從其中抓取微信公眾號(hào)詳情頁(yè)面:

reProfile = r'<li id[\s\S]*?<a href="([\s\S]*?)" rel="external nofollow" '
allProfiles = re.findall(reOAProfile, getUTF8(categoryList))
for profile in allProfiles:
  profilePage = req.get(profile)
  if profilePage.status_code != 200:
    continue

進(jìn)入詳情頁(yè)面可以獲取公眾號(hào)的 名稱/ID/功能介紹/賬號(hào)主體/頭像/二維碼/最近10篇文章 等信息:

 

注意事項(xiàng)

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

1. 驗(yàn)證碼

訪問(wèn)詳情頁(yè)面時(shí)有可能需要驗(yàn)證碼,自動(dòng)識(shí)別驗(yàn)證碼還是很有難度的,因此要做好爬蟲(chóng)的偽裝工作。

2. 未保存詳情頁(yè)面鏈接

詳情頁(yè)面的鏈接中有兩個(gè)重要參數(shù): timestamp & signature ,這說(shuō)明頁(yè)面鏈接是有時(shí)效性的,所以保存下來(lái)應(yīng)該也沒(méi)用;

3. 二維碼

二維碼圖片鏈接同樣具有時(shí)效性,因此如需要最好將圖片下載下來(lái)。

用 Flask 展示結(jié)果

最近 Python 社區(qū)出現(xiàn)了一款異步增強(qiáng)版的 Flask 框架: Sanic ,基于 uvloop 和 httptools ,可以達(dá)到異步、更快的效果,但保持了與 Flask 一致的簡(jiǎn)潔語(yǔ)法。雖然項(xiàng)目剛起步,還有很多基本功能為實(shí)現(xiàn),但已經(jīng)獲得了很多關(guān)注( 2,222 Star )。這次本打算用抓取的微信公眾號(hào)信息基于 Sanic 做一個(gè)簡(jiǎn)單的交互應(yīng)用,但無(wú)奈目前還沒(méi)有加入模板功能,異步的 redis 驅(qū)動(dòng)也還有 BUG 沒(méi)解決,所以簡(jiǎn)單嘗試了一下之后還是切換回 Flask + SQLite,先把抓取結(jié)果呈現(xiàn)出來(lái),后續(xù)有機(jī)會(huì)再做更新。

安裝 Sanic

Debug Sanic

 

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("/<int:page>")
@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)

總結(jié)

以上所述是小編給大家介紹的Python 抓取微信公眾號(hào)賬號(hào)信息,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!

相關(guān)文章

  • 解決python多行注釋引發(fā)縮進(jìn)錯(cuò)誤的問(wèn)題

    解決python多行注釋引發(fā)縮進(jìn)錯(cuò)誤的問(wèn)題

    今天小編就為大家分享一篇解決python多行注釋引發(fā)縮進(jìn)錯(cuò)誤的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-08-08
  • Python數(shù)據(jù)分析之使用matplotlib繪制折線圖、柱狀圖和柱線混合圖

    Python數(shù)據(jù)分析之使用matplotlib繪制折線圖、柱狀圖和柱線混合圖

    matplotlib是python的一個(gè)模塊,用于繪制各種圖形,今天介紹一下折線圖的繪制,下面這篇文章主要給大家介紹了關(guān)于Python數(shù)據(jù)分析之使用matplotlib繪制折線圖、柱狀圖和柱線混合圖的相關(guān)資料,需要的朋友可以參考下
    2022-05-05
  • python實(shí)現(xiàn)解數(shù)獨(dú)程序代碼

    python實(shí)現(xiàn)解數(shù)獨(dú)程序代碼

    最近在帶孩子學(xué)習(xí)數(shù)獨(dú),職業(yè)使然,就上網(wǎng)搜了下相關(guān)程序的解法,這里分享給大家,希望對(duì)大家學(xué)習(xí)python有所幫助
    2017-04-04
  • Python實(shí)現(xiàn)包含min函數(shù)的棧

    Python實(shí)現(xiàn)包含min函數(shù)的棧

    這篇文章主要介紹了Python實(shí)現(xiàn)包含min函數(shù)的棧,可實(shí)現(xiàn)棧中元素的計(jì)算及進(jìn)棧出棧等操作,需要的朋友可以參考下
    2016-04-04
  • 使用Python opencv實(shí)現(xiàn)視頻與圖片的相互轉(zhuǎn)換

    使用Python opencv實(shí)現(xiàn)視頻與圖片的相互轉(zhuǎn)換

    這篇文章主要介紹了使用Python opencv實(shí)現(xiàn)視頻與圖片的相互轉(zhuǎn)換,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-07-07
  • 使用Python的地理可視化庫(kù)進(jìn)行地圖動(dòng)畫(huà)的制作方法

    使用Python的地理可視化庫(kù)進(jìn)行地圖動(dòng)畫(huà)的制作方法

    隨著數(shù)據(jù)科學(xué)和可視化的迅速發(fā)展,地圖動(dòng)畫(huà)成為了展示地理數(shù)據(jù)變化的有力工具,Python作為一種強(qiáng)大的編程語(yǔ)言,有著豐富的地理可視化庫(kù),本文將介紹如何使用Python的地理可視化庫(kù)來(lái)制作地圖動(dòng)畫(huà),并通過(guò)代碼實(shí)例來(lái)演示,需要的朋友可以參考下
    2024-05-05
  • Python列表生成式應(yīng)用方式

    Python列表生成式應(yīng)用方式

    這篇文章主要介紹了Python列表生成式應(yīng)用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • python刪除文件示例分享

    python刪除文件示例分享

    這篇文章主要介紹了刪除文件夾下所有文件和子文件夾的示例,大家參考使用吧
    2014-01-01
  • 利用python實(shí)現(xiàn)周期財(cái)務(wù)統(tǒng)計(jì)可視化

    利用python實(shí)現(xiàn)周期財(cái)務(wù)統(tǒng)計(jì)可視化

    這篇文章主要給大家介紹了關(guān)于如何利用python實(shí)現(xiàn)周期財(cái)務(wù)統(tǒng)計(jì)可視化的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • Python 3.x 安裝opencv+opencv_contrib的操作方法

    Python 3.x 安裝opencv+opencv_contrib的操作方法

    下面小編就為大家分享一篇Python 3.x 安裝opencv+opencv_contrib的操作方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-04-04

最新評(píng)論

揭东县| 深水埗区| 百色市| 大英县| 岑巩县| 小金县| 古交市| 红安县| 青铜峡市| 安阳县| 固原市| 太仆寺旗| 饶平县| 本溪| 西乌珠穆沁旗| 台山市| 吴江市| 海盐县| 高安市| 临桂县| 杨浦区| 苍南县| 海宁市| 太仆寺旗| 望江县| 赤峰市| 涿鹿县| 昌黎县| 达日县| 仙桃市| 古田县| 江山市| 游戏| 昌平区| 久治县| 武宣县| 内黄县| 溧阳市| 九龙城区| 乡城县| 铜山县|