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多线程threading.Lock锁用法实例
Nov 01 Python
Python作用域用法实例详解
Mar 15 Python
使用Python绘制图表大全总结
Feb 11 Python
python中的闭包函数
Feb 09 Python
sublime python3 输入换行不结束的方法
Apr 19 Python
基于python3实现socket文件传输和校验
Jul 28 Python
详解Python进阶之切片的误区与高级用法
Dec 24 Python
新手入门Python编程的8个实用建议
Jul 12 Python
Django models.py应用实现过程详解
Jul 29 Python
解决Python 函数声明先后顺序出现的问题
Sep 02 Python
Django模型验证器介绍与源码分析
Sep 08 Python
python opencv通过4坐标剪裁图片
Jun 05 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
PHP IN_ARRAY 函数使用注意事项
2010/07/24 PHP
使用php将某个目录下面的所有文件罗列出来的方法详解
2013/06/21 PHP
php微信开发之图片回复功能
2018/06/14 PHP
作为PHP程序员你要知道的另外一种日志
2018/07/30 PHP
PHP defined()函数的使用图文详解
2019/07/20 PHP
一个加密JavaScript的开源工具PACKER2.0.2
2006/11/04 Javascript
javascript 火狐(firefox)不显示本地图片问题解决
2008/07/05 Javascript
autoIMG 基于jquery的图片自适应插件代码
2011/03/12 Javascript
jquery 插件学习(一)
2012/08/06 Javascript
js自动查找select下拉的菜单并选择(示例代码)
2014/02/26 Javascript
javascript页面上使用动态时间具体实现
2014/03/18 Javascript
JQuery跳出each循环的方法
2015/04/16 Javascript
一道关于JavaScript变量作用域的面试题
2016/03/08 Javascript
Bootstrap使用基础教程详解
2016/09/05 Javascript
AngularJS实现使用路由切换视图的方法
2017/01/24 Javascript
JavaScript canvas实现跟随鼠标事件
2020/02/10 Javascript
webpack+vue.js构建前端工程化的详细教程
2020/05/10 Javascript
python实现计算倒数的方法
2015/07/11 Python
python创建文件时去掉非法字符的方法
2018/10/31 Python
解决python xx.py文件点击完之后一闪而过的问题
2019/06/24 Python
远程部署工具Fabric详解(支持Python3)
2019/07/04 Python
python3实现的zip格式压缩文件夹操作示例
2019/08/17 Python
Python读写文件模式和文件对象方法实例详解
2019/09/17 Python
如何对python的字典进行排序
2020/06/19 Python
python如何代码集体右移
2020/07/20 Python
html5 canvas绘制矩形和圆形的实例代码
2016/06/16 HTML / CSS
俄罗斯Sportmarket体育在线商店:用于旅游和户外活动
2019/11/12 全球购物
店长岗位的工作内容
2013/11/12 职场文书
教师廉洁自律承诺书
2014/05/26 职场文书
英文演讲稿开场白
2014/08/25 职场文书
《鸡兔同笼》教学反思
2016/02/19 职场文书
python基础之while循环语句的使用
2021/04/20 Python
将Python代码打包成.exe可执行文件的完整步骤
2021/05/12 Python
使用Python脚本对GiteePages进行一键部署的使用说明
2021/05/27 Python
Python经常使用的一些内置函数
2022/04/11 Python
Go获取两个时区的时间差
2022/04/20 Golang