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标准日志模块logging的使用方法
Nov 01 Python
Python ORM框架SQLAlchemy学习笔记之安装和简单查询实例
Jun 10 Python
python通过yield实现数组全排列的方法
Mar 18 Python
Python实例一个类背后发生了什么
Feb 09 Python
Python中shape计算矩阵的方法示例
Apr 21 Python
Python编程求解二叉树中和为某一值的路径代码示例
Jan 04 Python
python3如何将docx转换成pdf文件
Mar 23 Python
Python运维之获取系统CPU信息的实现方法
Jun 11 Python
Python使用combinations实现排列组合的方法
Nov 13 Python
Python3标准库之threading进程中管理并发操作方法
Mar 30 Python
Anaconda配置pytorch-gpu虚拟环境的图文教程
Apr 16 Python
Python基于requests实现模拟上传文件
Apr 21 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
用Flash图形化数据(一)
2006/10/09 PHP
在PHP中利用wsdl创建标准webservice的实现代码
2011/12/07 PHP
php读取纯真ip数据库使用示例
2014/01/26 PHP
两千行代码的PHP学习笔记汇总
2014/10/05 PHP
PHP实现无限极分类图文教程
2014/11/25 PHP
Yii框架防止sql注入,xss攻击与csrf攻击的方法
2016/10/18 PHP
JavaScript Distilled 基础知识与函数
2010/04/07 Javascript
window.open以post方式将内容提交到新窗口
2012/12/26 Javascript
web的各种前端打印方法之jquery打印插件PrintArea实现网页打印
2013/01/09 Javascript
Javascript中的getUTCDay()方法使用详解
2015/06/10 Javascript
深入浅出 jQuery中的事件机制
2016/08/23 Javascript
jquery+css3问卷答题卡翻页动画效果示例
2016/10/26 Javascript
详解如何在NodeJS项目中优雅的使用ES6
2017/04/22 NodeJs
Node.js安装配置图文教程
2017/05/10 Javascript
vue实现百度搜索下拉提示功能实例
2017/06/14 Javascript
微信小程序使用radio显示单选项功能【附源码下载】
2017/12/11 Javascript
深入浅析Vue全局组件与局部组件的区别
2018/06/15 Javascript
Javascript原生ajax请求代码实例
2020/02/20 Javascript
[03:02]2014DOTA2西雅图邀请赛 让队员自己告诉你DK NAVI备战情况
2014/07/08 DOTA
[28:05]完美世界DOTA2联赛循环赛Inki vs DeMonsTer 第一场 10月30日
2020/10/31 DOTA
在Python中使用HTML模版的教程
2015/04/29 Python
Python排序搜索基本算法之选择排序实例分析
2017/12/09 Python
python轮询机制控制led实例
2020/05/03 Python
Python爬虫谷歌Chrome F12抓包过程原理解析
2020/06/04 Python
css3 中translate和transition的使用方法
2020/03/26 HTML / CSS
大四学年自我鉴定
2013/11/13 职场文书
气象学专业个人求职信
2014/04/22 职场文书
超越自我演讲稿
2014/05/21 职场文书
文案策划专业自荐信
2014/07/07 职场文书
分公司总经理岗位职责
2014/08/03 职场文书
审计局班子四风对照检查材料思想汇报
2014/10/07 职场文书
教师作风整顿个人剖析材料
2014/10/10 职场文书
2015年国庆节新闻稿
2015/07/18 职场文书
2015年小学重阳节活动总结
2015/07/29 职场文书
MySQL系列之七 MySQL存储引擎
2021/07/02 MySQL
Zabbix对Kafka topic积压数据监控的解决方案
2022/07/07 Servers