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中的偏函数
Apr 27 Python
详解python脚本自动生成需要文件实例代码
Feb 04 Python
pandas数值计算与排序方法
Apr 12 Python
网红编程语言Python将纳入高考你怎么看?
Jun 07 Python
pyQt4实现俄罗斯方块游戏
Jun 26 Python
对Python中list的倒序索引和切片实例讲解
Nov 15 Python
Python3数字求和的实例
Feb 19 Python
pyqt5 获取显示器的分辨率的方法
Jun 18 Python
Django Rest framework频率原理与限制
Jul 26 Python
Python reduce函数作用及实例解析
May 08 Python
Python中使用Selenium环境安装的方法步骤
Feb 22 Python
Python数据分析之pandas函数详解
Apr 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随机显示指定文件夹下图片的方法
2015/07/13 PHP
如何使用PHP Embed SAPI实现Opcodes查看器
2015/11/10 PHP
PHP实现类似于C语言的文件读取及解析功能
2017/09/01 PHP
jQuery ReferenceError: $ is not defined 错误的处理办法
2013/05/10 Javascript
jQuery当鼠标悬停时放大图片的效果实例
2013/07/03 Javascript
javascript中AJAX用法实例分析
2015/01/30 Javascript
深入理解JavaScript系列(50):Function模式(下篇)
2015/03/04 Javascript
javascript显示上周、上个月日期的处理方法
2016/02/03 Javascript
AngularJS整合Springmvc、Spring、Mybatis搭建开发环境
2016/02/25 Javascript
JS实现经典的中国地区三级联动下拉菜单功能实例【测试可用】
2017/06/06 Javascript
jQuery实现的监听导航滚动置顶状态功能示例
2018/07/23 jQuery
JQuery实现ajax请求的示例和注意事项
2018/12/10 jQuery
javascript面向对象三大特征之继承实例详解
2019/07/24 Javascript
vue 查看dist文件里的结构(多种方式)
2020/01/17 Javascript
vue随机验证码组件的封装实现
2020/02/19 Javascript
原生JS实现烟花效果
2020/03/10 Javascript
[01:24:16]2018DOTA2亚洲邀请赛 4.6 全明星赛
2018/04/10 DOTA
python sqlobject(mysql)中文乱码解决方法
2008/11/14 Python
python实现在每个独立进程中运行一个函数的方法
2015/04/23 Python
在Python的Django框架中加载模版的方法
2015/07/16 Python
python爬虫使用cookie登录详解
2017/12/27 Python
Python 利用内置set函数对字符串和列表进行去重的方法
2018/06/29 Python
Python3解释器知识点总结
2019/02/19 Python
对Python中class和instance以及self的用法详解
2019/06/26 Python
python3通过udp实现组播数据的发送和接收操作
2020/05/05 Python
Python实现http接口自动化测试的示例代码
2020/10/09 Python
Algenist奥杰尼官网:微藻抗衰老护肤品牌
2017/07/15 全球购物
嘻哈珠宝品牌:KRKC&CO
2020/10/19 全球购物
Envie de Fraise意大利:法国网上推出的孕妇装品牌
2020/10/18 全球购物
测控技术与通信工程毕业生自荐信范文
2013/12/28 职场文书
小学感恩教育活动总结
2014/07/07 职场文书
银行竞聘上岗演讲稿
2014/09/12 职场文书
淘宝客服专员岗位职责
2015/04/07 职场文书
2015年校医个人工作总结
2015/07/24 职场文书
Win2008系统搭建DHCP服务器
2022/06/25 Servers
Java+swing实现抖音上的表白程序详解
2022/06/25 Java/Android