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+selenium实现截图图片并保存截取的图片
Jan 05 Python
详解Python requests 超时和重试的方法
Dec 18 Python
python面向对象法实现图书管理系统
Apr 19 Python
详解Python传入参数的几种方法
May 16 Python
Python collections中的双向队列deque简单介绍详解
Nov 04 Python
使用Python的datetime库处理时间(RPA流程)
Nov 24 Python
python将四元数变换为旋转矩阵的实例
Dec 04 Python
Python类继承和多态原理解析
Feb 05 Python
python多进程 主进程和子进程间共享和不共享全局变量实例
Apr 25 Python
Python xlwt模块使用代码实例
Jun 10 Python
Python 串口通信的实现
Sep 29 Python
SpringBoot首页设置解析(推荐)
Feb 11 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采用file_get_contents代替使用curl实例
2014/11/07 PHP
Win7环境下Apache连接MySQL提示连接已重置的解决办法
2017/05/09 PHP
Yii框架扩展CGridView增加导出CSV功能的方法
2017/05/24 PHP
Laravel框架FormRequest中重写错误处理的方法
2019/02/18 PHP
javascript call方法使用说明
2010/01/11 Javascript
JQuery防止退格键网页后退的实现代码
2012/03/23 Javascript
IE与FireFox的JavaScript兼容问题解决办法
2013/12/31 Javascript
jquery马赛克拼接翻转效果代码分享
2015/08/24 Javascript
JavaScript驾驭网页-CSS与DOM
2016/03/24 Javascript
第一次接触神奇的Bootstrap菜单和导航
2016/08/01 Javascript
AngularJS表格详解及示例代码
2016/08/17 Javascript
jQuery返回定位插件详解
2017/05/15 jQuery
聊聊那些使用前端Javascript实现的机器学习类库
2017/09/18 Javascript
jquery动态添加以及遍历option并获取特定样式名称的option方法
2018/01/29 jQuery
基于Vue2.X的路由和钩子函数详解
2018/02/09 Javascript
React 组件转 Vue 组件的命令写法
2018/02/28 Javascript
如何从零开始利用js手写一个Promise库详解
2018/04/19 Javascript
详解Vue.js使用Swiper.js在iOS
2018/09/10 Javascript
JavaScript实现学生在线做题计时器功能
2018/12/05 Javascript
Angular6 用户自定义标签开发的实现方法
2019/01/08 Javascript
浅谈python中的实例方法、类方法和静态方法
2017/02/17 Python
Python编程实现双链表,栈,队列及二叉树的方法示例
2017/11/01 Python
python机器学习实战之K均值聚类
2017/12/20 Python
python实现根据文件格式分类
2019/10/31 Python
Python 实现判断图片格式并转换,将转换的图像存到生成的文件夹中
2020/01/13 Python
Matplotlib.pyplot 三维绘图的实现示例
2020/07/28 Python
python 爬虫之selenium可视化爬虫的实现
2020/12/04 Python
用gpu训练好的神经网络,用tensorflow-cpu跑出错的原因及解决方案
2021/03/03 Python
css3 实现元素弧线运动的示例代码
2020/04/24 HTML / CSS
欧舒丹美国官网:L’Occitane美国
2018/02/23 全球购物
城市轨道交通工程职业规划书范文
2014/01/18 职场文书
酒后驾驶检讨书
2014/01/27 职场文书
党性观念心得体会
2014/09/03 职场文书
2014教师年度思想工作总结
2014/11/10 职场文书
在校证明模板
2015/06/17 职场文书
win10更新失败无限重启解决方法
2022/04/19 数码科技