• bing查询旁站脚本


     1 #!/usr/bin/env python
     2 # -*- coding: UTF-8 -*-
     3 #by i3ekr
     4 
     5 import re,optparse,sys,requests,time,os
     6 
     7 parse = optparse.OptionParser(usage="python %prog -i '127.0.0.1'",version="%prog 1.0")
     8 parse.add_option('-i','--ip',action='store',dest='ip',help='ip parse...')
     9 parse.add_option('-o','--out',action='store',dest='out',help='this parse is out result file exp:-o "/tmp/result.txt""')
    10 parse.set_defaults(v=1.2)
    11 options,args=parse.parse_args()
    12 
    13 
    14 def gethtml(ip,page):
    15     try:
    16         html = requests.get("https://www.bing.com/search?q=ip:"+ip+"&qs=ds&first="+str(page)+"&FORM=PERE4").content
    17         return html
    18     except Exception as e:
    19         return "访问错误"
    20         exit()
    21 
    22 def chongfu():
    23     with open("./tmp.txt","r") as f:
    24         tmp = f.read()
    25         url = tmp.split("
    ")
    26         for i in set(url):
    27             with open("ok.txt","a") as f:
    28                 f.write(i+'
    ')
    29 
    30 def geturl(html):
    31     try:
    32         url = re.findall(r"(?<=<cite>).*?(?=</cite>)", html)
    33         print url
    34         for u in url:
    35             with open("./tmp.txt","a") as f:
    36                 f.write(u+"
    ")
    37                 f.close()
    38     except Exception as e:
    39         raise e
    40 
    41 #根据索引出来的搜索量来判断有多少个页面,返回值是页面数量
    42 def result_page():
    43     try:
    44         num = str(re.findall(r"<span class="sb_count">(.*?)</span><span class="ftrB"",html)[0]).strip(" 条结果")
    45         page = int(num.replace(",",""))
    46         return page/10
    47     except Exception as e:
    48         print "没有与此相关的结果"
    49         exit()
    50 
    51 
    52 
    53 
    54 if __name__ == "__main__":
    55     print """
    56             =========================
    57             [+] by i3ekr
    58             [+] Blog nul1.cnblogs.com
    59             [+] Time 2018/6/13
    60             =========================
    61     """
    62     if len(sys.argv) > 2:
    63         url_pangzhan = []
    64         pg = 1
    65         ip = options.ip
    66         f = False
    67         while True:
    68             if f == False:
    69                 html = requests.get("https://www.bing.com/search?q=ip:"+ip+"&qs=ds&first=1&FORM=PERE4").content
    70                 result_page()
    71                 f = True
    72             else:
    73                 for i in xrange(0,result_page()):
    74                     html = gethtml(ip,pg)
    75                     url = geturl(html)
    76                     print "第[%s]页"%(i+1)
    77                     pg+=11
    78 
    79                 chongfu()
    80                 os.remove('tmp.txt')
    81                 exit()
    82             
    83     else:
    84         print options.usage()
    85         exit()
  • 相关阅读:
    实验四 决策树算法及应用
    实验三 朴素贝叶斯算法及应用
    实验二 K近邻算法及应用
    实验一 感知器及其应用
    实验三 面向对象分析与设计
    实验二 结构化分析与设计
    实验一 软件的开发文档与工具的安装与使用
    ATM管理系统
    举例分析流程图与活动图的区别与联系
    四则运算
  • 原文地址:https://www.cnblogs.com/nul1/p/9189692.html
Copyright © 2020-2023  润新知