python模拟登陆友盟网站并获取我的站点信息

新建config.py文件:

1.分析友盟网站登陆

predata={
  "token":"7e63b6d788d9a9fa8478646a508bd44c",
  "username":"用户名",
  "password":"密码",
  "sig":"",
  "sessionid":"",
  "website":"umengplus",
  "app_id":"cnzz",
  "url":"https://web.umeng.com/main.php?c=site&a=show&from=login"
}
headers={
  ":authority":"i.umeng.com",
  ":method":"POST",
  ":path":"/login/ajax_do",
  ":scheme":"https",
  "accept":"*/*",
  "accept-encoding":"gzip, deflate",
  "accept-language":"zh-CN,zh;q=0.8",
  "content-length":"200",
  "content-type":"application/x-www-form-urlencoded; charset=UTF-8",
  "cookie":"PHPSESSID=7ordmljtqnn5khdkv0eoff9f85; cn_ea1523f470091651998a_dplus=%7B%22distinct_id%22%3A%20%2215ad491eefd30b-05c8ec563-424e002e-13c680-15ad491eefff6%22%2C%22%24_sessionid%22%3A%200%2C%22%24_sessionTime%22%3A%201489625019%2C%22%24dp%22%3A%200%2C%22%24_sessionPVTime%22%3A%201489625019%7D; _uab_collina=148962502090448104944825; cn_a61627694930aa9c80cf_dplus=%7B%22distinct_id%22%3A%20%2215ad491eefd30b-05c8ec563-424e002e-13c680-15ad491eefff6%22%7D; UM_distinctid=15ad491eefd30b-05c8ec563-424e002e-13c680-15ad491eefff6; CNZZDATA1258498910=326642109-1489621238-null%7C1489621238; UMPLUSCENTER=3058a47b577f1e4344d42b6a47e1da910bfbb32c; cna=/xBQEaOvVRUCAXVHNS5uBFpE; l=AhoaszT4hEBlhJd2dqUuVHfQ6so9k54m; isg=AjEx7bLizQlglWEdXEm6PELUQL2SPGcFGl1rAhNH9fgUOlKMWWxlYGocKnmm",
  "origin":"https://i.umeng.com",
  "referer":"https://i.umeng.com/?app_id=cnzz&redirectURL=https%3A%2F%2Fweb.umeng.com%2Fmain.php%3Fc%3Dsite%26a%3Dshow%26from%3Dlogin",
  "user-agent":"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36",
  "x-requested-with":"XMLHttpRequest"
}

2.分析我的站点

在config.py中添加如下:

url_list=‘https://web.umeng.com/main.php?c=site&a=show&ajax=module=list|module=isOpenTongji&search=&currentPage=1&pageType=30&sort=0‘

新建cnzz_resource_resource.py脚本

import json
import requests
import os
import time
import datetime
from pymongo import MongoClient
import config
import traceback
import random

import sys
reload(sys)
sys.setdefaultencoding("utf-8")

class CnzzCatch:

  def __init__(self):
    self.site_id = ‘‘
    self.name = ‘‘
    self.config = config
    self.dbclient = MongoClient(‘192.168.86.126‘,27017)
    self.pre_day = ‘‘
    self.sites=[]
    self.s=requests.Session()
    self.__init_login()

  def __init_login(self):
    try:
      self.s.post(self.config.loginUrl,data=self.config.predata,headers=self.config.headers)
      time.sleep(random.random())
      r = json.loads(self.s.get(self.config.url_list).content)
      print r
      for temp in r[‘data‘][‘list‘][‘items‘]:
        if isinstance(temp,dict):
          self.sites.append({"siteid":temp["siteid"],"name":temp["name"]})
    except:
      traceback.print_exc()

if __name__ == ‘__main__‘:
  x = CnzzCatch()
  x.run()
  x.close()

时间: 2024-10-09 21:13:44

python模拟登陆友盟网站并获取我的站点信息的相关文章

Python模拟登入豆瓣网,并爬取小组信息

import requests from bs4 import BeautifulSoup from PIL import Image headers = { 'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36', 'Referer':'https://accounts.douban.com/logi

python模拟浏览器登陆人人网站

想要实现网站的登陆,post方法就是提交数据到网站,所以要post数据来用python实现登陆.当你想要登陆人人时,首先要知道网站的登陆细节(先发送账号和密码,返回cookie值,发送cookie到服务器,返回页面,再使用正则提取你想要的数据),我是通过HTTPfox来抓取http数据包来分析这个网站的登陆流程.同时,我们还要分析抓到的post包的数据结构和header,要根据提交的数据结构和heander来构造自己的post数据和header. 分析结束后,我们要构造自己的HTTP数据包,并发

【CURL】模拟登录网站并获取用户信息

模拟登录网站并获取用户信息 前言 这次来做的是通过代码的方式,模拟登录秒拍官网,获取登录用户的信息. 前后端分离 本文的标题是CURL,传统的网站是PHP代码直接渲染项目视图,通过表单提交到控制器直接进行数据操作. 传统模拟登录的方式在页面上找到表单元素,直接进行模拟表单提交. 近两年前端技术趋于完善,实现了前后端分离. 分析页面元素 秒拍官网地址 http://www.miaopai.com/ 通过审查元素以及源代码查找,在本页面并没有form标签,由此推断页面是通过js进行提交的. 查找提交

Python模拟登录后爬取网站内容(小说)

最近有个好友让我帮忙爬取个小说,这个小说是前三十章直接可读,后面章节需要充值VIP可见.所以就需要利用VIP账户登录后,构造Cookie,再用Python的获取每章节的url,得到内容后再使用 PyQuery 解析内容. 注意:构造Cookie的过程中,需要你在 Chrome/Firefox 登录,然后自己在控制台查看 cookie,然后手动加入. 第一步:手动构造cookie,绕过登录 [我这里不是破解账户,想破解请出门左拐] 1 #version 2.7 2 3 #!/usr/bin/pyt

python模拟163登陆获取邮件列表

利用cookielib和urllib2模块模拟登陆163的例子有很多,近期看了<python模拟登陆163邮箱并获取通讯录>一文,受到启发,试着对收件箱.发件箱等进行了分析,并列出了所有邮件列表及状态,包括发件人.收件人.主题.发信时间.已读未读等状态. 1.参考代码:http://hi.baidu.com/fc_lamp/blog/item/2466d1096fcc532de8248839.html%EF%BB%BF 1 #-*- coding:UTF-8 -*- 2 import urll

python实现QQ机器人(自动登录,获取群消息,发送群消息)

一次偶然的机会我看见了一个群里的一个QQ号总是根据你所发的消息自动回复,当时很感觉到神奇,我知道可以模拟登录网站,没想到竟然也能模拟登录QQ,首先自己想到的就是如何实现模拟登录PC端的QQ, 开始研究了下,发现QQ所发送的包都很难理解. 于是就转到了网页版的QQ,因为在网页里可以捕获所有的请求从而更好的实现模拟功能! 首先第一步就是打开网页版的qq,打开浏览器的开发者模式 这里可以监控所有的请求! 打开登录界面的的时候 会捕捉到一个GET请求 https://ssl.ptlogin2.qq.co

Python模拟登陆万能法-微博|知乎

Python模拟登陆让不少人伤透脑筋,今天奉上一种万能登陆方法.你无须精通HTML,甚至也无须精通Python,但却能让你成功的进行模拟登陆.本文讲的是登陆所有网站的一种方法,并不局限于微博与知乎,仅用其作为例子来讲解. 用到的库有"selenium"和"requests".通过selenium进行模拟登陆,然后将Cookies传入requests,最终用requests进行网站的抓取.优点就是不但规避了"selenium"其本身抓取速度慢的问题

Python模拟登陆万能法

此文转自:https://zhuanlan.zhihu.com/p/28587931   转录只是为了方便学习,感谢他的分享 Python模拟登陆让不少人伤透脑筋,今天奉上一种万能登陆方法.你无须精通HTML,甚至也无须精通Python,但却能让你成功的进行模拟登陆.本文讲的是登陆所有网站的一种方法,并不局限于微博与知乎,仅用其作为例子来讲解. 用到的库有"selenium"和"requests".通过selenium进行模拟登陆,然后将Cookies传入reque

利用Python模拟GitHub登录

最近学习了Fiddler抓包工具的简单使用,通过抓包,我们可以抓取到HTTP请求,并对其进行分析.现在我准备尝试着结合Python来模拟GitHub登录. Fiddler抓包分析 首先,我们想要模拟一个网站的登录,我们必须要简单了解其大致过程. 在这里,我通过Fiddler来抓取GitHub登录的请求,从网页上登录的URL为:https://github.com/login ,抓包结果如下: 左边的是会话列表,右边的是请求和响应的数据.一般情况下,登录都是用POST请求,因为我在左边的会话列表中