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读取word文档的方法
May 09 Python
Python实现合并字典的方法
Jul 07 Python
基础的十进制按位运算总结与在Python中的计算示例
Jun 28 Python
python基础教程之五种数据类型详解
Jan 12 Python
python列表的增删改查实例代码
Jan 30 Python
快速解决安装python没有scripts文件夹的问题
Apr 03 Python
python PrettyTable模块的安装与简单应用
Jan 11 Python
Python3实现的简单三级菜单功能示例
Mar 12 Python
python初学者,用python实现基本的学生管理系统(python3)代码实例
Apr 10 Python
详解python statistics模块及函数用法
Oct 27 Python
150行python代码实现贪吃蛇游戏
Apr 24 Python
Python 用__new__方法实现单例的操作
Dec 11 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判断搜索引擎蜘蛛并自动记忆到文件的代码
2012/02/04 PHP
PHP Oauth授权和本地加密实现方法
2016/08/12 PHP
PHP实现的最大正向匹配算法示例
2017/12/19 PHP
利用PHP内置SERVER开启web服务(本地开发使用)
2020/01/22 PHP
漂亮的widgets,支持换肤和后期开发新皮肤(2007-4-27已更新1.7alpha)
2007/04/27 Javascript
复制本贴标题和地址的js代码
2008/07/01 Javascript
JQuery textlimit 显示用户输入的字符数 限制用户输入的字符数
2009/05/14 Javascript
js 上传图片预览问题
2010/12/06 Javascript
jquery 跳到顶部和底部动画2句代码简单实现
2013/07/18 Javascript
js的alert弹出框出现乱码解决方案
2013/09/02 Javascript
jquery防止重复执行动画避免页面混乱
2014/04/22 Javascript
使用jQuery判断IE浏览器版本的代码
2014/06/14 Javascript
javascript背景时钟实现方法
2015/06/18 Javascript
JavaScript框架是什么?怎样才能叫做框架?
2015/07/01 Javascript
AngularJS 输入验证详解及实例代码
2016/07/28 Javascript
javaScript生成支持中文带logo的二维码(jquery.qrcode.js)
2017/01/03 Javascript
AngularJS的ng-repeat指令与scope继承关系实例详解
2017/01/21 Javascript
jQuery+CSS3实现点赞功能
2017/03/13 Javascript
EasyUI创建人员树的实例代码
2017/09/15 Javascript
关于vue表单提交防双/多击的例子
2019/10/31 Javascript
jQuery表单校验插件validator使用方法详解
2020/02/18 jQuery
Jquery $.map使用方法实例详解
2020/09/01 jQuery
[36:20]完美世界DOTA2联赛PWL S3 access vs Rebirth 第一场 12.17
2020/12/18 DOTA
Mac OS X10.9安装的Python2.7升级Python3.3步骤详解
2013/12/04 Python
python 基于TCP协议的套接字编程详解
2019/06/29 Python
Python数据持久化存储实现方法分析
2019/12/21 Python
python 异步async库的使用说明
2020/05/04 Python
Python使用pyexecjs代码案例解析
2020/07/13 Python
解决import tensorflow导致jupyter内核死亡的问题
2021/02/06 Python
TripAdvisor越南:全球领先的旅游网站
2017/09/21 全球购物
婚庆公司的创业计划书
2014/01/22 职场文书
企业新年寄语
2014/04/04 职场文书
学校群众路线专项整治方案
2014/10/31 职场文书
Python机器学习算法之决策树算法的实现与优缺点
2021/05/13 Python
python flask框架快速入门
2021/05/14 Python
十大最强妖精系宝可梦,哲尔尼亚斯实力最强,第五被称为大力士
2022/03/18 日漫