python 爬取微信文章


Posted in Python onJanuary 30, 2016

本人想搞个采集微信文章的网站,无奈实在从微信本生无法找到入口链接,网上翻看了大量的资料,发现大家的做法总体来说大同小异,都是以搜狗为入口。下文是笔者整理的一份python爬取微信文章的代码,有兴趣的欢迎阅读

#coding:utf-8
author = 'haoning'
**#!/usr/bin/env python
import time
import datetime
import requests**
import json
import sys
reload(sys)
sys.setdefaultencoding( "utf-8" )
import re
import xml.etree.ElementTree as ET
import os
#OPENID = 'oIWsFtyel13ZMva1qltQ3pfejlwU'
OPENID = 'oIWsFtw_-W2DaHwRz1oGWzL-wF9M&ext'
XML_LIST = []
# get current time in milliseconds
current_milli_time = lambda: int(round(time.time() * 1000))
def get_json(pageIndex):

global OPENID
the_headers = {
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36',
'Referer': 'http://weixin.sogou.com/gzh?openid={0}'.format(OPENID),
'Host': 'weixin.sogou.com'
}

url = 'http://weixin.sogou.com/gzhjs?cb=sogou.weixin.gzhcb&openid={0}&page={1}&t={2}'.format(OPENID, pageIndex, current_milli_time()) #url
print(url)

response = requests.get(url, headers = the_headers)
# TO-DO; check if match the reg
response_text = response.text
print response_text
json_start = response_text.index('sogou.weixin.gzhcb(') + 19
json_end = response_text.index(')') - 2
json_str = response_text[json_start : json_end] #get json
#print(json_str)
# convert json_str to json object
json_obj = json.loads(json_str) #get json obj
# print json_obj['totalPages']
return json_obj
def add_xml(jsonObj):

global XML_LIST
xmls = jsonObj['items'] #get item
#print type(xmls)
XML_LIST.extend(xmls) #用新列表扩展原来的列表
**[#www.oksousou.com][2]**
# ------------ Main ----------------
print 'play it :) '
# get total pages
default_json_obj = get_json(1)
total_pages = 0
total_items = 0
if(default_json_obj):

# add the default xmls
add_xml(default_json_obj)
# get the rest items
total_pages = default_json_obj['totalPages']
total_items = default_json_obj['totalItems']
print total_pages
# iterate all pages
if(total_pages >= 2):
  for pageIndex in range(2, total_pages + 1):
    add_xml(get_json(pageIndex)) #extend
    print 'load page ' + str(pageIndex)
    print len(XML_LIST)
Python 相关文章推荐
Python中的错误和异常处理简单操作示例【try-except用法】
Jul 25 Python
Python tkinter模块弹出窗口及传值回到主窗口操作详解
Jul 28 Python
django创建自定义模板处理器的实例详解
Aug 14 Python
Python numpy生成矩阵、串联矩阵代码分享
Dec 04 Python
python 获取utc时间转化为本地时间的方法
Dec 31 Python
python实现支付宝转账接口
May 07 Python
Django实现网页分页功能
Oct 31 Python
解决tensorflow训练时内存持续增加并占满的问题
Jan 19 Python
使用 tf.nn.dynamic_rnn 展开时间维度方式
Jan 21 Python
python 比较字典value的最大值的几种方法
Apr 17 Python
Python+Selenium随机生成手机验证码并检查页面上是否弹出重复手机号码提示框
Sep 21 Python
OpenCV+python实现膨胀和腐蚀的示例
Dec 21 Python
python生成验证码图片代码分享
Jan 28 #Python
详解Python网络爬虫功能的基本写法
Jan 28 #Python
Python3实现Web网页图片下载
Jan 28 #Python
Python正则获取、过滤或者替换HTML标签的方法
Jan 28 #Python
Python每天必学之bytes字节
Jan 28 #Python
Python装饰器入门学习教程(九步学习)
Jan 28 #Python
基于Python如何使用AIML搭建聊天机器人
Jan 27 #Python
You might like
PHP调用MsSQL Server 2012存储过程获取多结果集(包含output参数)的详解
2013/07/03 PHP
thinkphp3.x中display方法及show方法的用法实例
2016/05/19 PHP
PHP实现的观察者模式实例
2017/06/21 PHP
PHP实现深度优先搜索算法(DFS,Depth First Search)详解
2017/09/16 PHP
PHP+百度AI OCR文字识别实现了图片的文字识别功能
2019/05/08 PHP
Javascript结合css实现网页换肤功能
2009/11/02 Javascript
JS高级笔记
2011/07/13 Javascript
javascript实现des解密加密全过程
2014/04/03 Javascript
全面解析Bootstrap中transition、affix的使用方法
2016/05/30 Javascript
JavaScript动态加载重复绑定问题
2018/04/01 Javascript
深入理解Vue Computed计算属性原理
2018/05/29 Javascript
在 Vue.js中优雅地使用全局事件的方法
2019/02/01 Javascript
修改vue源码实现动态路由缓存的方法
2020/01/21 Javascript
VUE Elemen-ui之穿梭框使用方法详解
2021/01/19 Javascript
nuxt 服务器渲染动态设置 title和seo关键字的操作
2020/11/05 Javascript
[03:11]完美世界DOTA2联赛PWL DAY8集锦
2020/11/09 DOTA
python 简易计算器程序,代码就几行
2009/08/29 Python
Python的条件语句与运算符优先级详解
2015/10/13 Python
python各种语言间时间的转化实现代码
2016/03/23 Python
Python调用C# Com dll组件实战教程
2017/10/12 Python
python随机取list中的元素方法
2018/04/08 Python
提升Python程序性能的7个习惯
2019/04/14 Python
pygame库实现俄罗斯方块小游戏
2019/10/29 Python
解决Django Haystack全文检索为空的问题
2020/05/19 Python
Django利用elasticsearch(搜索引擎)实现搜索功能
2020/11/26 Python
python 装饰器重要在哪
2021/02/14 Python
美国摩托车头盔、零件、齿轮及配件商店:Cycle Gear
2019/06/12 全球购物
德国婴儿服装和婴儿用品购买网站:Baby Sweets
2019/12/08 全球购物
上海中网科技笔试题
2012/02/19 面试题
大学生标准推荐信范文
2013/11/25 职场文书
幼儿园实习生辞职信
2014/01/20 职场文书
军训自我鉴定
2014/01/22 职场文书
护理专业自我鉴定
2014/01/30 职场文书
八项规定整改方案
2014/02/21 职场文书
Python实现Hash算法
2022/03/18 Python
Shell中的单中括号和双中括号的用法详解
2022/12/24 Servers