b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

用于获取微信公众号信息的Python方法

电脑杂谈  发布时间:2020-05-03 22:43:45  来源:网络整理

python抓取微信公众号_python微信公众号开发_python微信公众号爬虫

搜狗微信搜索提供了两种类型的关键字搜索,一种是搜索公众号文章的内容,另一种是直接搜索微信公众号. 本文主要介绍Python获取微信公众号信息,需要的朋友可以参考

搜狗微信搜索提供了两种类型的关键字搜索,一种是搜索公众号文章的内容,另一种是直接搜索微信公众号. 您可以通过在微信公众号上搜索来获取公众号的基本信息以及最近发表的10篇文章. 今天,获取微信公众号的账户信息

爬行动物

首先进入主页,您可以按类别进行爬网,并且可以通过“查看更多”找到页面链接规则:

python微信公众号爬虫_python抓取微信公众号_python微信公众号开发

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

上面的代码通过加载更多页面来获取加载列表,然后从中获取微信公众号详细信息页面:

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

进入详细信息页面以获取名称/ ID /功能简介/帐户主体/头像/ QR码/最近10条公共帐户文章以及其他信息:

注释

python微信公众号开发_python抓取微信公众号_python微信公众号爬虫

详细信息页面链接: #63; src = 3&时间戳= 1477208282&ver = 1&签名= 8rYJ4QV2w5FXSOy6vGn37sUdcSLa8uoyHv3Ft7CrhZhB4wO-bbWG94aUCNexyB7lqRNSazua-2MROwkV835ilg ==

1. 验证码

访问详细信息页面时,可能需要验证码. 自动识别验证码仍然非常困难,因此有必要伪装搜寻器.

2. 未保存的详细信息页面链接

详细信息页面的链接中有两个重要参数: 时间戳和签名,这意味着页面链接是时间敏感的,因此保存它应该没用;

3. 二维码

python抓取微信公众号_python微信公众号开发_python微信公众号爬虫

QR码图像链接也是时间敏感的,因此最好在必要时下载图像.

使用Flask显示结果

最近在Python社区中出现了一个异步增强的Flask框架: 基于uvloop和httptools的Sanic可以实现异步和更快的结果,但保持与Flask一致的简洁语法. 尽管该项目才刚刚开始,但仍有许多基本功能要实现,但是它已经引起了很多关注(2,222星). 这次,我计划使用捕获的微信公众号信息制作一个基于Sanic的简单交互式应用程序,但是令人沮丧的是尚未添加模板功能python抓取微信公众号,并且异步redis驱动程序还具有一个尚未解决的BUG,因此简单尝试,我切换回Flask + SQLite,先显示抓取的结果,然后再更新.

安装Sanic

调试Sanic

python微信公众号爬虫_python抓取微信公众号_python微信公众号开发

Flask + SQLite应用程序

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)

摘要

以上是编辑器引入的Python抓取微信公众号信息,希望对大家有帮助. 如有任何疑问,请给我留言,编辑会及时给您答复. 非常感谢您对我们网站的支持!

如果您认为本文对您有所帮助python抓取微信公众号,欢迎转载,请注明出处,谢谢!

本文标题: Python捕获微信公众号信息的方法

本文地址:


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-197922-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...