• 技术文章 >后端开发 >Python教程

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

    2016-06-10 15:16:59原创923
    本文实例讲述了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程序设计有所帮助。

    php入门到就业线上直播课:查看学习

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

    前端(VUE)零基础到就业课程:点击学习

    清晰的学习路线+老师随时辅导答疑

    自己动手写 PHP MVC 框架:点击学习

    快速了解MVC架构、了解框架底层运行原理

    上一篇:Python使用Flask框架同时上传多个文件的方法 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • ❤️‍🔥共22门课程,总价3725元,会员免费学• ❤️‍🔥接口自动化测试不想写代码?• Python NumPy教程之数据类型对象• Python标准库中的logging用法示例• 使用Python处理KNN分类算法• python发腾讯微博代码分享• python自动化测试实例解析
    1/1

    PHP中文网