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程序设计有所帮助。
相关推荐
-
Python使用email模块对邮件进行编码和解码的实例教程
解码邮件 python自带的email模块是个很有意思的东西,它可以对邮件编码解码,用来处理邮件非常好用. 处理邮件是一个很细致的工作,尤其是解码邮件,因为它的格式变化太多了,下面先看看一个邮件的源文件: Received: from 192.168.208.56 ( 192.168.208.56 [192.168.208.56] ) by ajax-webmail-wmsvr37 (Coremail) ; Thu, 12 Apr 2007 12:07:48 +0800 (CST) Date:
-
Python使用QQ邮箱发送Email的方法实例
前言 其实Python使用QQ邮箱发送Email代码很简单,短短几行代码就可以实现这个功能. 使用到的模块有smtplib和email这个两个模块,关于这两个模块的方法就不多说了.不了解的朋友们可以查看这篇文章:python中使用smtplib和email模块发送邮件实例 我们先说说网上常用的使用这那两个模块发送邮件的方法 代码如下: import smtplib from email.mime.text import MIMEText from email.header import Head
-
Python发送email的3种方法
python发送email还是比较简单的,可以通过登录邮件服务来发送,linux下也可以使用调用sendmail命令来发送,还可以使用本地或者是远程的smtp服务来发送邮件,不管是单个,群发,还是抄送都比较容易实现. 先把几个最简单的发送邮件方式记录下,像html邮件,附件等也是支持的,需要时查文档即可 1.登录邮件服务 复制代码 代码如下: #!/usr/bin/env python # -*- coding: utf-8 -*- #python2.7x #send_simple_ema
-
Python发送Email方法实例
本文以实例形式展示了Python发送Email功能的实现方法,有不错的实用价值的技巧,且功能较为完善.具体实现方法如下: 主要功能代码如下: #/usr/bin/env python # -*- encoding=utf-8 -*- import base64 import smtplib from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText class CCSendMail: de
-
二种python发送邮件实例讲解(python发邮件附件可以使用email模块实现)
可以使用Python的email模块来实现带有附件的邮件的发送. SMTP (Simple Mail Transfer Protocol)邮件传送代理 (Mail Transfer Agent,MTA) 程序使用SMTP协议来发送电邮到接收者的邮件服务器.SMTP协议只能用来发送邮件,不能用来接收邮件.大多数的邮件发送服务器 (Outgoing Mail Server) 都是使用SMTP协议.SMTP协议的默认TCP端口号是25. SMTP协议的一个重要特点是它能够接力传送邮件.它工作在两种情况
-
Python实现发送email的几种常用方法
学过Python的人都知道,实用Python实现发送email的功能还是比较简单的,可以通过登录邮件服务来发送,linux下也可以使用调用sendmail命令来发送,还可以使用本地或者是远程的smtp服务来发送邮件,不管是单个,群发,还是抄送都比较容易实现. 本文就把几个最简单的发送邮件方式记录下来,像html邮件,附件等也是支持的,读者在需要时可以参考查询一下.具体方法如下: 1.登录邮件服务 具体代码如下: #!/usr/bin/env python # -*- coding: utf-8
-
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 &quo
-
Python中Django框架利用url来控制登录的方法
本文实例讲述了Python中Django框架利用url来控制登录的方法.分享给大家供大家参考.具体如下: from django.conf.urls.defaults import patterns,url #or use login_required from django.contrib.admin.views.decorators import staff_member_required def login_url(regex, view, *p,**args): """
-
Python中Django框架下的staticfiles使用简介
django1.3新加入了一个静态资源管理的app,django.contrib.staticfiles.在以往的django版本中,静态资源的管理一向都是个问题.部分app发布的时候会带上静态资源文件,在部署的时候你必须手动从各个app中将这些静态资源文件复制到同一个static目录.在引入staticfiles后,你只需要执行./manage.py collectstatic就可以很方便的将所用到app中的静态资源复制到同一目录. staticfiles的引入,方便了django静态文件的管
-
使用url_helper简化Python中Django框架的url配置教程
django的url采用正则表达式进行配置,虽然强大却也广为诟病.反对者们认为django的url配置过于繁琐,且不支持默认的路由功能. 我倒觉得还好,只是如果觉得不爽,为什么不自己小小的hack一下,反正也就几行代码的事. 在这个背景下,我整了这个url_helper,利用url_helper可以简化配置和实现url的默认路由.所谓的url_helper其实就只有url_helper.py一个文件,使用的时候只想要import就可以. url_helper的具体用法请参考具体的例子: url_
-
Python中django学习心得
以下是作者在学习Python中django框架时的学习笔记,并把测试的代码做了详细分析,最后还附上了学习心得,值得大家学习. URL配置(URLconf)就像Django 所支撑网站的目录.它的本质是URL与要为该URL调用的视图函数之间的映射表:你就是以这种方式告诉Django,对于这个URL调用这段代码,对于那个URL调用那段代码. '''urlpatterns = [url(正则表达式, views视图函数,参数,别名),]参数说明:一个正则表达式字符串一个可调用对象,通常为一个视图函数或
-
Django框架首页和登录页分离操作示例
本文实例讲述了Django框架首页和登录页分离操作.分享给大家供大家参考,具体如下: 1.登录模板login.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>用户登录</title> </head> <body> <form method="post&qu
-
pycharm中django框架连接mysql数据库的方法
1.首先下载安装pymysql模块. pip install pymysql 如果出现 timeout 超时可以使用其他的资源下载: pip install 模块名 -i https://pypi.douban.com/simple 2.导入库 在项目的init文件中编写下列代码: # 导入pymysql模块 import pymysql pymysql.install_as_MySQLdb() 这样整个项目都能使用pymysql,就不用再每个文件都导入pymyqsl 3.在seeting.py
-
Python中Django与Echarts的结合用法图文详解
目录 前言 什么是Echarts 选一个示例-简单的饼图 图形分析 前端核心代码分析 图形的生成基本步骤 django的操作 数据构造 渲染关键点 最终效果 稍复杂示例-河流图 图形分析 前端核心代码分析 django操作 数据构造 最终效果 添加示例没有的标题 添加时间轴的缩放 操控示例-获得没有示例的堆叠柱状图 其他 配色调整 数据拟合注意点 总结 前言 今天为大家分享Echarts在Python 的Django框架中的使用 项目仓库为https://gitcode.net/sabian2/
-
Python中Scrapy框架的入门教程分享
目录 前言 安装Scrapy 创建一个Scrapy项目 创建一个爬虫 运行爬虫 结论 前言 Scrapy是一个基于Python的Web爬虫框架,可以快速方便地从互联网上获取数据并进行处理.它的设计思想是基于Twisted异步网络框架,可以同时处理多个请求,并且可以使用多种处理数据的方式,如提取数据.存储数据等. 本教程将介绍如何使用Scrapy框架来编写一个简单的爬虫,从而让您了解Scrapy框架的基本使用方法. 安装Scrapy 首先,您需要在您的计算机上安装Scrapy框架.您可以使用以下命
-
Python使用django框架实现多人在线匿名聊天的小程序
最近看到好多设计类网站,都提供了多人在线匿名聊天的小功能,感觉很有意思,于是基于python的django框架自己写了一个,支持手动实时更名,最下方提供了完整的源码. 在线聊天地址(无需登录,开一个窗口,代表一个用户): http://zhaozhaoli.vicp.io/chatroom/happy/ 移动端聊天效果图: 网页版聊天效果图: 实现思路: 发送的消息通过ajax先写入数据库,通过ajax的循环请求,将写入数据库的消息显示到前端界面. 前端核心代码: <script> $(fun
随机推荐
- 连接Oracle数据库时报ORA-12541:TNS:无监听程序的图文解决教程
- XHTML与HTML之间的区别
- JS实现求数组起始项到终止项之和的方法【基于数组扩展函数】
- 垃圾引用防治补丁以及发送引用修正补丁的自动安装程序
- C语言怎么获得进程的PE文件信息
- javascript-解决mongoose数据查询的异步操作
- Python通过正则表达式选取callback的方法
- 浅谈js的ajax的异步和同步请求的问题
- 信息采集程序
- C++中单链表的建立与基本操作
- python实现的登录和操作开心网脚本分享
- 基于jQuery实现多标签页切换的效果(web前端开发)
- newxtree.js代码
- C#属性(Attribute)用法实例解析
- Java socket字节流传输示例解析
- C# Windows API应用之基于GetDesktopWindow获得桌面所有窗口句柄的方法
- 基于C#实现一个最简单的HTTP服务器实例
- C++执行Linux Bash命令的方法
- Spark学习笔记之Spark SQL的具体使用
- Python3 文章标题关键字提取的例子