zoukankan      html  css  js  c++  java
  • 自动化提取51啦数据的信息

    #!/usr/bin/python
    #coding:gbk
    #这个是一个自动化提取51啦数据的信息
    #Lm_team 处世制作

    import httplib #这个没用到
    import urllib
    import cookielib
    import urllib2
    import re
    import base64 #这个也是没用到
    import os
    import datetime #这个时间

    #设置cookie
    cj = cookielib.LWPCookieJar()
    cookie_support = urllib2.HTTPCookieProcessor (cj)
    openner = urllib2.build_opener (cookie_support,urllib2.HTTPHandler)
    urllib2.install_opener(openner)

    #进行提交数据
    url = 'http://www.51.la/login.asp?' #需要打开的网页
    post_data = ({'uname':'abbbc这个是账户','upass':'这个是密码'}) #设置post数值
    post_data = urllib.urlencode (post_data) #进行Post数据编码
    headers = {'User-Agent':'Mozilla/5.0 (Windows NT 6.2; rv:22.0) Gecko/20100101 Firefox/22.0'} #设置头部信息
    req = urllib2.Request (url,post_data,headers) #提交数据
    result = urllib2.urlopen(req) #打开页面
    text = result.read() #读取页面数据

    #正则进行提取页面数据
    #提取昨日流量中的所有数据
    res = r'昨日流量(<Ww{2}>s*<w{2}>d{1,4}sD{2}<Ww{2}>s*<w{2}>d{1,4}sD{2}<Ww{2}>s*<w{2}>d{1,4}sD{2}<Ww{2}>s*<w{2}>d{1,4}sD{2}<Ww*>s*<w{2}>d.d{2})' #很纳闷为何不能采用(){}这种重复格式。
    resIP = r'd{1,4}sIP' #ip的正则
    resPV = r'd{1,4}sPV' #pv的正则
    resPJ = r'd{1,2}[.]d{1,2}' #平均值的正则

    #判断昨天日期
    now = datetime.datetime.now()
    date = now.strftime('%Y')+'-'+now.strftime('%m')+'-'+str(int(now.strftime('%d'))-1) #昨天日期

    def ref_post():
    print "#"*50
    find_data = re.findall(res,rtext) #提取过后的数据
    rdata = find_data[0].decode('gbk') #设置输出数据的格式,否则出现16进制情况xec
    #print rdata
    #显示Ip Pv 平均值
    global find_dataIP,find_dataPV,find_dataPJ
    find_dataIP = re.findall(resIP,rdata) #提取过滤后的IP数据
    find_dataPV = re.findall(resPV,rdata) #提取过滤后的Pv值
    find_dataPJ = re.findall(resPJ,rdata) #提取过滤后的平均值

    def pr_post():
    print find_dataIP[0]
    print find_dataPV[0]
    print find_dataPJ[0]

    #打开保存的数据
    mDicFile = open('F:pylibid.txt') #网站配对ID值
    lines = mDicFile.readlines() #提取每一行
    #以下循环每一行进行打开页面操作
    for li in lines:
    # rurl = "http://www.51.la/report/1_main.asp?id="+li+'&d1='+date

    rurl = "http://www.51.la/report/1_main.asp?id="+li
    rreq = urllib2.Request(rurl,post_data,headers)
    rresult = urllib2.urlopen(rreq)
    rtext = rresult.read()
    ref_post()
    pr_post()

    #未完待续,没球门,日。太他妈纠结了 新手上路 亮熊出没请注意戴眼镜

    #抓包过程中,发现一个极其极其ok的事情。51啦的验证登陆。cookie里边的数据,大家可以自己抓包看下。嘿嘿。xss简直就是直接暴菊 太甚

    #后期补充会出现填写时间,自动提取隔天某数据。或者隔天某段数据。

    同时添加提取后的数据,填写exec表格中。

    LM_team 制作

  • 相关阅读:
    【数据结构】线性表&&顺序表详解和代码实例
    【智能算法】超详细的遗传算法(Genetic Algorithm)解析和TSP求解代码详解
    【智能算法】用模拟退火(SA, Simulated Annealing)算法解决旅行商问题 (TSP, Traveling Salesman Problem)
    【智能算法】迭代局部搜索(Iterated Local Search, ILS)详解
    10. js时间格式转换
    2. 解决svn working copy locked问题
    1. easyui tree 初始化的两种方式
    10. js截取最后一个斜杠后面的字符串
    2. apache整合tomcat部署集群
    1. apache如何启动
  • 原文地址:https://www.cnblogs.com/yuner/p/3327061.html
Copyright © 2011-2022 走看看