搜狗微信搜索提供两种类型的关键词搜索,一种是搜索公众号文章内容,另一种是直接搜索微信公众号。通过微信公众号搜索可以获取公众号的基本信息及最近发布的10条文章,今天来抓取一下微信公众号的账号信息(

爬虫

首先通过首页进入,可以按照类别抓取,通过“查看更多”可以找出页面链接规则:

import requests as req
import rereTypes = 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]*?)"'
allProfiles = re.findall(reOAProfile, getUTF8(categoryList))
for profile in allProfiles:profilePage = req.get(profile)if profilePage.status_code != 200:continue

进入详情页面可以获取公众号的 名称/ID/功能介绍/账号主体/头像/二维码/最近10篇文章 等信息:

大家在学python的时候肯定会遇到很多难题,以及对于新技术的追求,这里推荐一下我们的Python学习扣qun:784758214,这里是python学习者聚集地!!同时,自己是一名高级python开发工程师,从基础的python脚本到web开发、爬虫、django、数据挖掘等,零基础到项目实战的资料都有整理。送给每一位python的小伙伴!每日分享一些学习的方法和需要注意的小细节

点击:python技术分享

注意事项

详情页面链接: 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

Debug Sanic

Flask + SQLite Appfrom flask import g, Flask, render_template
import sqlite3app = 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项目实战:抓取微信公众号账号信息相关推荐

  1. python简答题及答案查询公众号和软件_Python 抓取微信公众号账号信息的方法

    搜狗微信搜索提供两种类型的关键词搜索,一种是搜索公众号文章内容,另一种是直接搜索微信公众号.通过微信公众号搜索可以获取公众号的基本信息及最近发布的10条文章,今天来抓取一下微信公众号的账号信息 爬虫 ...

  2. Python 抓取微信公众号账号信息

    搜狗微信搜索提供两种类型的关键词搜索,一种是搜索公众号文章内容,另一种是直接搜索微信公众号.通过微信公众号搜索可以获取公众号的基本信息及最近发布的10条文章,今天来抓取一下微信公众号的账号信息 爬虫 ...

  3. python爬虫实战-爬取微信公众号所有历史文章 - (00) 概述

    http://efonfighting.imwork.net 欢迎关注微信公众号"一番码客"获取免费下载服务与源码,并及时接收最新文章推送. 最近几年随着人工智能和大数据的兴起,p ...

  4. python通过手机抓取微信公众号

    使用 Fiddler 抓包分析公众号 打开微信随便选择一个公众号,查看公众号的所有历史文章列表 在 Fiddler 上已经能看到有请求进来了,说明公众号的文章走的都是HTTPS协议,这些请求就是微信客 ...

  5. python利用fiddler抓取微信公众号文章及标题(简单易懂)

    1安装好fiddler配置好安全证书,这一步很简单就是安装,自己问度娘 2登录微信客户端(电脑),打开公众号滑动,查看响应信息,主要要过滤一下,排除干扰 mp.weixin.qq.com; 3可以点开 ...

  6. 【Python爬虫】爬取微信公众号文章信息准备工作

    有一天发现我关注了好多微信公众号,那时就想有没有什么办法能够将微信公众号的文章弄下来,而且还想将一些文章的精彩评论一起搞下来.参考了一些文章,通过几天的研究基本上实现了自己的要求,现在记录一下自己的一 ...

  7. python公众号文章_Python 抓取微信公众号文章

    起因是刷微信的时候看到一篇文章,Python 抓取微信公众号文章保存成pdf,很容易搜到,就不贴出来了 先用chrome登陆微信公众号后台,先获取一下自己的cookie,复制下来就行,解析一下转换成 ...

  8. Python实现抓取微信公众号文章

    本文首发于微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列文章. 前言 对于抓取微信公众号文章主要通过代理ip抓包进行的操作,总会出现一些问题,以下问题导致无法抓包. ...

  9. python爬取公众号历史文章_pythons爬虫:抓取微信公众号 历史文章(selenium+phantomjs)...

    原标题:pythons爬虫:抓取微信公众号 历史文章(selenium+phantomjs) 大数据挖掘DT数据分析 公众号: datadw 本文爬虫代码可以通过回复本公众号关键字"公众号& ...

最新文章

  1. P1209 [USACO1.3]修理牛棚 Barn Repair(贪心+逆向思维)难度⭐⭐⭐
  2. 人工智能正在永远改变药理学
  3. RDKit:运用RDKit计算USRCAT(形状相似性)
  4. 如何在Java中解析命令行参数?
  5. PK朱广权的手语数字人,现在要到医院银行上岗了
  6. python学习路线-Python最佳学习路线
  7. Python+Selenium学习笔记8 - 多表单多窗口切换
  8. java 输出三位数和n位数的每一位的数
  9. 一个单向链表,输出该链表中倒数第k个结点,链表的倒数第0个结点为链表的尾指针
  10. 安卓系统挂载NTFS格式硬盘_苹果电脑挥之不去的烦恼!怎样兼容NTFS格式的U盘移动硬盘?...
  11. 中国互联网安全大会将召开 网络安全再获关注
  12. lower版购物车模拟
  13. 如何在复杂的分布式系统中做测试
  14. 最优化方法:深度学习最优化方法
  15. 利用后中遍历结果,重构二叉树
  16. VS挤房间探索(含源码)
  17. stuiod3t-2019030.dmg下载及studio3t macOS Cracking教程
  18. 【零基础】入门51单片机图文教程(Proteus+Keil)
  19. php英文星期中文星期,英文星期到星期天【星期一到星期天的英文用中文怎么说。发音标准的来。】...
  20. 汉信码(Hanxin Code)与QR码(QR Code)的终极对决

热门文章

  1. 魅蓝x android,魅蓝X的屏幕怎么样?魅蓝X屏幕材质是什么?
  2. 3000自装车还是买挑战者300
  3. LFM信号加噪、时频分析、滤波
  4. ESP8266_AP模式、TCP连接
  5. 三种加密方式: sha1加密、MD5加密、Base64加密 (附H5源码和js源码)
  6. 王者荣耀s19赛季服务器维护,王者荣耀S19赛季突然宣布更新,缺少以往大肆宣传的背后隐藏了什么...
  7. Datawhale~数据挖掘实践之序列问题处理~天池·资金流入流出预测-挑战Baseline~Day01~数据探索与分析
  8. 4976: 宝石镶嵌
  9. Agilent安捷伦34972A数据采集器
  10. sublime PHP 插件