Python_selenium之获取页面上的全部邮箱
Python_selenium之获取页面上的全部邮箱
一、思路拆分
- 获取网页(这里以百度的“联系我们”为例),网址http://home.baidu.com/contact.html
- 获取页面的全部内容(driver.page_source)
- 运用正则表达式,导入re模块找到邮箱的字段
- 循环打印出邮箱(去重)
二、测试脚本
1. 源代码如下:
#coding:utf-8
from selenium import webdriver
import re#导入re模块
driver=webdriver.Firefox()
driver.maximize_window()
driver.implicitly_wait(8)
driver.get("http://home.baidu.com/contact.html")
doc=driver.page_source#获取网页所有的内容
emails=re.findall(r'[\w]+@[\w\.-]+',doc)#邮箱的正则表达式
for email in list(set(emails)):#去掉重复的邮箱
print email
2. 测试结果如下图1所示

Python_selenium之获取页面上的全部邮箱的更多相关文章
- 用JavaScript获取页面上被选中的文字的技巧
这里介绍的一个小技巧是如何用JavaScript获取页面上被选中的文字的方法.最关键的JavaScript API是: event.selection = window.getSelection(); ...
- 如何用JS获取页面上的所有标签
最近忙的一匹,忙着大保健,都来不及写博客,今天特意抽出点时间来写一写 前两天看到一个题,是问如何从页面上获取所有的标签的并查看他们的数量,感觉还是有点意思的,所以给大家来搞一下子 我们先来捋捋思路,那 ...
- JS获取页面上所有input
for (var i = 0; i < document.getElementsByTagName("input").length; i++) { if (document. ...
- 如何用Client OM获取页面上一个Content web part的内容
[解决方法] According to Wictor Wilén, The Client Object Model is fairly limited when it comes to working ...
- 用IHTMLDocument2接口获取页面上想要的数据,代替正则表达式
原文发布时间为:2010-07-01 -- 来源于本人的百度文章 [由搬家工具导入] 1. 用 IHTMLDocument2::all 获得所有元素; 2. 用 IHTMLElementCollect ...
- JS获取页面元素并修改
//实现代码如下,非常简单<script> (function(){ var ele = document.getElementsByTagName("ul"); // ...
- 还没被玩坏的robobrowser(4)——从页面上抓取感兴趣的内容
背景 本节的知识实际上是属于Beautiful Soup的内容. robobrowser支持Beautiful Soup,一般来说通过下面3个方法获取页面上感兴趣的内容 find find_all s ...
- WebSocket在建立连接时通过@PathParam获取页面传值
最近用Java下使用WebSocket,有一个需求,在页面与Java后台建立连接的时候获取页面上提供的参数,也就是在@OnOpen注解的方法里面获取一次页面的参数,有一个很简单的方法可以获得.即使用@ ...
- 用 DOM 获取页面的元素方法集合
document.getElementById('id名') // 获取页面设置指定 id 的元素 document.getElementsByTagName('标签名') ...
随机推荐
- nodejs入门篇---创建project并具体解释
想了非常久.总想写点对大家有优点的,今天解说生成项目. 如今市面上一般须要人全栈-----mean(mongo,express.angular,nodejs),这样能够从前端开发到后端以及数据库,听起 ...
- RxJava API使用示例
概述 RxJava API示例代码,可离线查看rxjava1.0大部分API的marble图,描述,示例代码,并支持示例代码实时输出及展示执行结果. 详细 代码下载:http://www.demoda ...
- IDEA部署Tomcat应用所有接口中文乱码
解决问题的思路: 1.分析比对http请求头,contentType等设置 2.前段编码,后端解码,这个方式比较落麻烦,凡是有中文乱码的地方都要进行解决 3.修改Tomcat的默认编码,tomcat8 ...
- javascript解析器(引擎)
The JavaScript interpreter in a browser is implemented as a single thread. javascript 引擎在浏览器中作为单线程实现 ...
- C++设计模式之适配器模式(三)
4.适配器模式总结 在对象适配器模式中.适配器与适配者之间是关联关系:在类适配器模式中.适配器与适配者之间是继承关系.不论是对象适配器还是类适配器.适配器模式都将现有接口转化为客户类所期望的接口.实现 ...
- 双线机房双网卡双ip 路由设置
做互联网网站,最头疼的事情之一就是电信和网通的互联互不通了,为了能够让北方网通和南方电信用户都可以快速的访问网站,解决办法就是托管 到双线机房.双线机房有两类,一类是通过BGP技术实现互联互通,服务器 ...
- Effective Java-第三章
第3章 对于所有对都通用的方法 尽管Object是一个具体类,但是设计它主要是为了扩展,它所有的非final方法(equals,hashCode,toString,clone和finalize)都有明 ...
- Vivado Logic Analyzer的使用(二)
本文基于Vivado 2014.2,阅读前请参考前文http://blog.chinaaet.com/detail/37264 之前的设计都是出发后直接捕获数据.其实,与chipscope类似,可以设 ...
- [JNA系列]Java调用Delphi编写的Dll之JNA使用
介绍 给大家介绍一个最新的访问本机代码的 Java 框架 —JNA . JNA(Java Native Access) 框架是一个开源的 Java 框架,是 SUN 公司主导开发的,建立在经典的 JN ...
- 关于引脚复用,不得不提的GPIO_Pin_sources 和GPIO_Pin
今天在端口复用时遇到了困惑,参考:http://www.51hei.com/bbs/dpj-40992-1.html 调整前的代码GPIO_PinAFConfig(GPIOA,GPIO_Pin_9,G ...