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实现FTP上传文件或文件夹实例(递归)
Jan 16 Python
Python数据结构与算法之使用队列解决小猫钓鱼问题
Dec 14 Python
Python简单生成随机姓名的方法示例
Dec 27 Python
python 与服务器的共享文件夹交互方法
Dec 27 Python
python 二维数组90度旋转的方法
Jan 28 Python
Python常用特殊方法实例总结
Mar 22 Python
对Python 简单串口收发GUI界面的实例详解
Jun 12 Python
PYTHON发送邮件YAGMAIL的简单实现解析
Oct 28 Python
python装饰器使用实例详解
Dec 14 Python
Python读取pdf表格写入excel的方法
Jan 22 Python
详解pycharm的python包opencv(cv2)无代码提示问题的解决
Jan 29 Python
Python 避免字典和元组的多重嵌套问题
Jul 15 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
apache rewrite_module模块使用教程
2008/01/10 PHP
PHP Token(令牌)设计
2008/03/15 PHP
php不使用插件导出excel的简单方法
2014/03/04 PHP
laravel 4安装及入门图文教程
2014/10/29 PHP
Javascript对象Clone实例分析
2015/06/09 Javascript
jQuery使用DataTable实现删除数据后重新加载功能
2017/02/27 Javascript
Vue 项目部署到服务器的问题解决方法
2017/12/05 Javascript
对vue事件的延迟执行实例讲解
2018/08/28 Javascript
Vue使用zTree插件封装树组件操作示例
2019/04/25 Javascript
Vue+Element UI+vue-quill-editor富文本编辑器及插入图片自定义
2019/08/20 Javascript
vue中 this.$set的用法详解
2019/09/06 Javascript
Vue3.0的优化总结
2020/10/16 Javascript
通过实例解析js可枚举属性与不可枚举属性
2020/12/02 Javascript
python中的代码编码格式转换问题
2015/06/10 Python
Django objects.all()、objects.get()与objects.filter()之间的区别介绍
2017/06/12 Python
Python PyQt4实现QQ抽屉效果
2018/04/20 Python
利用Python正则表达式过滤敏感词的方法
2019/01/21 Python
python常用库之NumPy和sklearn入门
2019/07/11 Python
简单了解python变量的作用域
2019/07/30 Python
python [:3] 实现提取数组中的数
2019/11/27 Python
用Python自动清理电脑内重复文件,只要10行代码(自动脚本)
2021/01/09 Python
html5+css3之CSS中的布局与Header的实现
2014/11/21 HTML / CSS
html5 Canvas画图教程(5)—canvas里画曲线之arc方法
2013/01/09 HTML / CSS
HTML5实现移动端弹幕动画效果
2019/08/01 HTML / CSS
施华洛世奇加拿大官网:SWAROVSKI加拿大
2018/06/03 全球购物
英国最受信任的在线眼镜商之一:Fashion Eyewear
2019/10/31 全球购物
德国BA保镖药房中文网:Bodyguard Apotheke
2021/03/09 全球购物
教育系统干部作风整顿心得体会
2014/09/09 职场文书
公务员党员评议表自我鉴定
2014/09/14 职场文书
小学班主任经验交流材料
2014/12/16 职场文书
故宫英文导游词
2015/01/31 职场文书
农村环境卫生倡议书
2015/04/29 职场文书
医院志愿者活动总结
2015/05/06 职场文书
党支部季度考核意见
2015/06/02 职场文书
对学校的意见和建议
2015/06/04 职场文书
pandas中对文本类型数据的处理小结
2021/11/01 Python