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实现全局变量的两个解决方法
Jul 03 Python
python中self原理实例分析
Apr 30 Python
python登录豆瓣并发帖的方法
Jul 08 Python
python字符串连接方法分析
Apr 12 Python
Python实现注册登录系统
Aug 08 Python
python机器学习理论与实战(二)决策树
Jan 19 Python
Python Pandas实现数据分组求平均值并填充nan的示例
Jul 04 Python
Python如何使用内置库matplotlib绘制折线图
Feb 24 Python
python3 配置logging日志类的操作
Apr 08 Python
jupyter notebook的安装与使用详解
May 18 Python
如何基于Python和Flask编写Prometheus监控
Nov 25 Python
python3 字符串str和bytes相互转换
Mar 23 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
JAVA/JSP学习系列之七
2006/10/09 PHP
基于PHP与XML的PDF文档生成技术
2006/10/09 PHP
php 删除cookie和浏览器重定向
2009/03/16 PHP
在PHP中使用反射技术的架构插件使用说明
2010/05/18 PHP
测试php函数的方法
2013/11/13 PHP
PHP遍历并打印指定目录下所有文件实例
2014/02/10 PHP
PHP全局变量与超级全局变量区别分析
2016/04/01 PHP
用javascript连接access数据库的方法
2006/11/17 Javascript
javascript中利用柯里化函数实现bind方法【推荐】
2016/04/29 Javascript
值得分享和收藏的Bootstrap学习教程
2016/05/12 Javascript
零基础轻松学JavaScript闭包
2016/12/30 Javascript
javascript ES6中箭头函数注意细节小结
2017/02/17 Javascript
JS使用面向对象技术实现的tab选项卡效果示例
2017/02/28 Javascript
微信小程序图片横向左右滑动案例
2017/05/19 Javascript
mpvue跳转页面及注意事项
2018/08/03 Javascript
Vue如何基于vue-i18n实现多国语言兼容
2020/07/17 Javascript
vue 组件之间事件触发($emit)与event Bus($on)的用法说明
2020/07/28 Javascript
prettier自动格式化去换行的实现代码
2020/08/25 Javascript
NodeJS开发人员常见五个错误理解
2020/10/14 NodeJs
Python中type的构造函数参数含义说明
2015/06/21 Python
Python实现的Excel文件读写类
2015/07/30 Python
Python使用requests发送POST请求实例代码
2018/01/25 Python
python 通过logging写入日志到文件和控制台的实例
2018/04/28 Python
Window环境下Scrapy开发环境搭建
2018/11/18 Python
如何基于python操作excel并获取内容
2019/12/24 Python
python三引号如何输入
2020/07/06 Python
python爬虫用scrapy获取影片的实例分析
2020/11/23 Python
美国玩具公司:U.S.Toy
2018/05/19 全球购物
用C语言实现文件读写操作
2013/10/27 面试题
2014年上半年工作自我评价
2014/01/18 职场文书
申请任职学生会干部自荐书范文
2014/02/13 职场文书
感恩之星事迹材料
2014/05/03 职场文书
小学感恩教育活动总结
2014/07/07 职场文书
小学三好学生事迹材料
2014/08/15 职场文书
解决Mysql报错 Table 'mysql.user' doesn't exist
2022/05/06 MySQL
如何利用python实现Simhash算法
2022/06/28 Python