当前位置: 首页 > 编程笔记 >

python中django框架通过正则搜索页面上email地址的方法

袁泰
2023-03-14
本文向大家介绍python中django框架通过正则搜索页面上email地址的方法,包括了python中django框架通过正则搜索页面上email地址的方法的使用技巧和注意事项,需要的朋友参考一下

本文实例讲述了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)

PS:这里再为大家提供2款非常方便的正则表达式工具供大家参考使用:

JavaScript正则表达式在线测试工具:
http://tools.jb51.net/regex/javascript

正则表达式在线生成工具:
http://tools.jb51.net/regex/create_reg

希望本文所述对大家的Python程序设计有所帮助。

 类似资料:
  • 本文向大家介绍jquery使用正则表达式验证email地址的方法,包括了jquery使用正则表达式验证email地址的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了jquery使用正则表达式验证email地址的方法。分享给大家供大家参考。具体实现方法如下: PS:这里再为大家提供2款非常方便的正则表达式工具供大家参考使用: JavaScript正则表达式在线测试工具: http://

  • 本文向大家介绍基于Python正则表达式提取搜索结果中的站点地址,包括了基于Python正则表达式提取搜索结果中的站点地址的使用技巧和注意事项,需要的朋友参考一下 正则表达式对于Python来说并不是独有的,最近在把google搜索的结果中所有的站点地址导出,于是想到用python正则表达式提取搜索结果中的站点地址。 这其中涉及几个需要解决的问题: 1、获取搜索的结果文本 为了获得更多的地址,我使

  • 本文向大家介绍通过mod_python配置运行在Apache上的Django框架,包括了通过mod_python配置运行在Apache上的Django框架的使用技巧和注意事项,需要的朋友参考一下 为了配置基于 mod_python 的 Django,首先要安装有可用的 mod_python 模块的 Apache。 这通常意味着应该有一个 LoadModule 指令在 Apache 配置文件中。 它

  • 本文向大家介绍python使用Flask框架获取用户IP地址的方法,包括了python使用Flask框架获取用户IP地址的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了python使用Flask框架获取用户IP地址的方法。分享给大家供大家参考。具体如下: 下面的代码包含了html页面和python代码,非常详细,如果你正使用Flask,也可以学习一下最基本的Flask使用方法。 py

  • 本文向大家介绍详解Python的Django框架中的通用视图,包括了详解Python的Django框架中的通用视图的使用技巧和注意事项,需要的朋友参考一下 通用视图 1. 前言 回想一下,在Django中view层起到的作用是相当于controller的角色,在view中实施的 动作,一般是取得请求参数,再从model中得到数据,再通过数据创建模板,返回相应 响应对象。但在一些比较通用的功能中,比

  • 本文向大家介绍JavaScript中通过提示框跳转页面的方法,包括了JavaScript中通过提示框跳转页面的方法的使用技巧和注意事项,需要的朋友参考一下 通过提示框跳转页面具体代码如下所示: 下面给大家介绍几种比较常见的js实现页面跳转的方式 第一种: 第二种: 第三种: 第四种: 第五种: 接着给大家介绍js使用弹出窗口实现页面跳转的几种方式 —————————————————————————