python中django框架通过正则搜索页面上email地址的方法


Posted in Python onMarch 21, 2015

本文实例讲述了python中django框架通过正则搜索页面上email地址的方法。分享给大家供大家参考。具体实现方法如下:

import re
from django.shortcuts import render
from pattern.web import URL, DOM, abs, find_urls
def index(request):
 """
 find email addresses in requested url or contact page
 """
 error = ''
 emails = set()
 url_string = request.GET.get('url', '')
 EMAIL_REGEX = re.compile(r'[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,6}', re.IGNORECASE)
 # use absolute url or domain name
 url = URL(url_string) if url_string.startswith('http') else URL(domain=url_string,protocol='http')
 if url_string:
 try:
  dom = DOM(url.download(cached=True))
 except Exception, e:
  error = e
 else:
  contact_urls = { url.string }
  # search links of contact page
  for link in dom('a'):
  if re.search(r'contact|about', link.source, re.IGNORECASE):
   contact_urls.add(
   abs(link.attributes.get('href',''), base=url.redirect or url.string))
  for contact_url in contact_urls:
  # download contact page
  dom = DOM(URL(contact_url).download(cached=True))
  # search emails in the body of the page
  for line in dom('body')[0].content.split('\n'):
   found = EMAIL_REGEX.search(line)
   if found:
   emails.add(found.group())
 data = {
 'url': url_string,
 'emails': emails,
 'error': error,
 }
 return render(request, 'index.html', data)
Python 相关文章推荐
Python输出PowerPoint(ppt)文件中全部文字信息的方法
Apr 28 Python
python各种语言间时间的转化实现代码
Mar 23 Python
Django实现支付宝付款和微信支付的示例代码
Jul 25 Python
Python文件监听工具pyinotify与watchdog实例
Oct 15 Python
详解Python数据可视化编程 - 词云生成并保存(jieba+WordCloud)
Mar 26 Python
Pyqt5 基本界面组件之inputDialog的使用
Jun 25 Python
django解决订单并发问题【推荐】
Jul 31 Python
python中的&&及||的实现示例
Aug 07 Python
python pygame实现挡板弹球游戏
Nov 25 Python
opencv+pyQt5实现图片阈值编辑器/寻色块阈值利器
Nov 13 Python
用python基于appium模块开发一个自动收取能量的小助手
Sep 25 Python
python数字图像处理之图像自动阈值分割示例
Jun 28 Python
Python去除列表中重复元素的方法
Mar 20 #Python
python在windows下实现ping操作并接收返回信息的方法
Mar 20 #Python
Python实现微信公众平台自定义菜单实例
Mar 20 #Python
python在windows和linux下获得本机本地ip地址方法小结
Mar 20 #Python
python使用三角迭代计算圆周率PI的方法
Mar 20 #Python
Cpy和Python的效率对比
Mar 20 #Python
Python通过PIL获取图片主要颜色并和颜色库进行对比的方法
Mar 19 #Python
You might like
Apache2中实现多网站域名绑定的实现方法
2011/06/01 PHP
PHP的APC模块实现上传进度条
2015/10/27 PHP
PHP设计模式之模板方法模式定义与用法详解
2018/04/02 PHP
PHP检查端口是否可以被绑定的方法示例
2018/08/09 PHP
一个无限级XML绑定跨框架菜单(For IE)
2007/01/27 Javascript
window.onload 加载完毕的问题及解决方案(上)
2009/07/09 Javascript
jQuery学习笔记之Helloworld
2010/12/22 Javascript
js作用域及作用域链概念理解及使用
2013/04/15 Javascript
JS和jquery获取各种屏幕的宽度和高度的代码
2013/08/02 Javascript
ES6中Iterator与for..of..遍历用法分析
2017/03/31 Javascript
JS基于正则表达式实现的密码强度验证功能示例
2017/09/21 Javascript
nodemon实现Typescript项目热更新的示例代码
2019/11/19 Javascript
JavaScript JSON使用原理及注意事项
2020/07/30 Javascript
[01:06:12]VP vs NIP 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
利用Python学习RabbitMQ消息队列
2015/11/30 Python
Python获取当前函数名称方法实例分享
2018/01/18 Python
Python之文字转图片方法
2018/05/10 Python
Python元组常见操作示例
2019/02/19 Python
Django处理多用户类型的方法介绍
2019/05/18 Python
Python跳出多重循环的方法示例
2019/07/03 Python
python Shapely使用指南详解
2020/02/18 Python
Python使用sqlite3模块内置数据库
2020/05/07 Python
python中sklearn的pipeline模块实例详解
2020/05/21 Python
Python如何爬取qq音乐歌词到本地
2020/06/01 Python
python调用win32接口进行截图的示例
2020/11/11 Python
canvas绘制太极图的实现示例
2020/04/29 HTML / CSS
Pretty Green美国:英式摇滚服饰风格代表品牌之一
2019/01/23 全球购物
.net面试题
2015/12/22 面试题
移动通信专业自荐信范文
2013/11/12 职场文书
女大学生个人求职信
2013/12/09 职场文书
骨干教师培训制度
2014/01/13 职场文书
咖啡厅创业计划书范本
2014/01/22 职场文书
关工委先进个人事迹材料
2014/05/23 职场文书
小学师德师风演讲稿
2014/09/02 职场文书
党员教师批评与自我批评发言稿
2014/10/15 职场文书
求职自我评价怎么写
2015/03/09 职场文书