博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python django通过正则搜索页面上的email地址的代码
阅读量:5740 次
发布时间:2019-06-18

本文共 1544 字,大约阅读时间需要 5 分钟。

如下代码是关于python django通过正则搜索页面上的email地址的代码,应该对码农有一些好处。

import refrom django.shortcuts import renderfrom pattern.web import URL, DOM, abs, find_urlsdef 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)                                                                                                                                            复制代码

转载于:https://juejin.im/post/5ca46cbf51882543f252e196

你可能感兴趣的文章
Ai challenger 2017 image caption小结
查看>>
第二阶段 铁大Facebook——十天冲刺(10)
查看>>
深度优先搜索(dfs),城堡问题
查看>>
oracle中触发器的讲解
查看>>
2015-06-17
查看>>
Oracle 利用 rowid 提升 update 性能
查看>>
sqlserver把数据导入mysql
查看>>
独立看门狗 iwdg
查看>>
反转链表——java
查看>>
Linux 虚拟内存和物理内存的理解【转】
查看>>
Linux Module框架【转】
查看>>
使用git建立本地仓储管理代码【转】
查看>>
树状数组
查看>>
python重试装饰器的简单实现
查看>>
实现一个简单的轮询算法
查看>>
MYSQL学习心得(十) 自定义存储过程和函数
查看>>
c# 获取网站验证码图片
查看>>
debian安装node-js环境
查看>>
js 限制输入框只能输入带有两位小数的数字
查看>>
C#继承 多态
查看>>