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中requests小技巧
May 10 Python
tensorflow训练中出现nan问题的解决
Feb 10 Python
Python实现多级目录压缩与解压文件的方法
Sep 01 Python
python 列表输出重复值以及对应的角标方法
Jun 11 Python
Python八皇后问题解答过程详解
Jul 29 Python
python rsa实现数据加密和解密、签名加密和验签功能
Sep 18 Python
使用Python刷淘宝喵币(低阶入门版)
Oct 30 Python
Python基于requests库爬取网站信息
Mar 02 Python
Python在后台自动解压各种压缩文件的实现方法
Nov 10 Python
详解Python 3.10 中的新功能和变化
Apr 28 Python
解决numpy和torch数据类型转化的问题
May 23 Python
python opencv旋转图片的使用方法
Jun 04 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中curl、fsocket、file_get_content三个函数的使用比较
2014/05/09 PHP
thinkPHP分组后模板无法加载问题解决方法
2016/07/12 PHP
php中10个不同等级压缩优化图片操作示例
2016/11/14 PHP
thinkphp5.1 框架钩子和行为用法实例分析
2020/05/25 PHP
js跟随滚动条滚动浮动代码
2009/12/31 Javascript
js异常捕获方法介绍
2013/04/10 Javascript
jquery如何判断表格同一列不同行input数据是否重复
2014/05/14 Javascript
简单方法判断JavaScript对象为null或者属性为空
2014/09/26 Javascript
JQuery的ON()方法支持的所有事件罗列
2015/02/28 Javascript
图解Sublime Text3使用技巧
2015/12/21 Javascript
javascript基本算法汇总
2016/03/09 Javascript
BootStrap轮播HTML代码(推荐)
2016/12/10 Javascript
JS前端笔试题分析
2016/12/19 Javascript
JS正则截取两个字符串之间及字符串前后内容的方法
2017/01/06 Javascript
原生js实现密码输入框值的显示隐藏
2017/07/17 Javascript
利用Blob进行文件上传的完整步骤
2018/08/02 Javascript
vue使用echarts图表的详细方法
2018/10/22 Javascript
javascript中join方法实例讲解
2019/02/21 Javascript
es6中let和const的使用方法详解
2020/02/24 Javascript
JS加载解析Markdown文档过程详解
2020/05/19 Javascript
[51:34]Ti4主赛事胜者组 DK vs EG 2
2014/07/19 DOTA
[06:44]2018DOTA2亚洲邀请赛4.5 SOLO赛 MidOne vs Sumail
2018/04/06 DOTA
Win7下搭建python开发环境图文教程(安装Python、pip、解释器)
2016/05/17 Python
python中kmeans聚类实现代码
2018/02/23 Python
在numpy矩阵中令小于0的元素改为0的实例
2019/01/26 Python
django-初始配置(纯手写)详解
2019/07/30 Python
如何基于Python批量下载音乐
2019/11/11 Python
Python requests获取网页常用方法解析
2020/02/20 Python
法国亚马逊官方网站:Amazon.fr
2020/12/19 全球购物
大学生优秀的自我评价分享
2013/10/22 职场文书
小学毕业典礼主持词
2014/03/27 职场文书
数据保密承诺书
2014/06/03 职场文书
银行客户经理岗位职责
2015/04/09 职场文书
2015年学校远程教育工作总结
2015/07/20 职场文书
优秀党员先进事迹材料2016
2016/02/29 职场文书
索尼ICF-36收音机评测
2022/04/30 无线电