Python+Selenium之摘取网页上全部邮箱

本文转载:http://blog.csdn.net/u011541946/article/details/68485981

练习场景:在某一个网页上有些字段是我们感兴趣的,我们希望摘取出来,进行其他操作。但是这些字段可能在一个网页的不同地方。例如,我们需要在关于百度页面-联系我们,摘取全部的邮箱。

思路拆分:

1. 首先,需要得到当前页面的source内容,就像,打开一个页面,右键-查看页面源代码。

2. 找出规律,通过正则表达式去摘取匹配的字段,存储到一个字典或者列表。

3. 循环打印字典或列表中内容,Python中用 for 语句实现。

技术角度实现相关方法:

1. 查看页面的源代码,在Selenium中有driver.page_source 这个方法得到

2. Python中利用正则,需要导入re模块

3. for email in emails :

print email

 1 # coding=utf-8
 2
 3 from selenium import webdriver
 4 import re
 5
 6 driver = webdriver.Chrome()
 7 driver.maximize_window()
 8 driver.implicitly_wait(6)
 9
10 driver.get("http://home.baidu.com/contact.html")
11 # 得到页面源代码
12 doc = driver.page_source
13 emails = re.findall(r‘[\w][email protected][\w\.-]+‘,doc) # 利用正则,找出 [email protected] 的字段,保存到emails列表
14 # 循环打印匹配的邮箱
15 for email in emails:
16     print (email)  

解释:

在python正则表达式语法中,Python中字符串前面加上 r 表示原生字符串,用\w表示匹配字母数字及下划线。re模块下findall方法返回的是一个匹配子字符串的列表。

时间: 2024-08-30 07:48:53

Python+Selenium之摘取网页上全部邮箱的相关文章

Python+Selenium练习篇之1-摘取网页上全部邮箱

前面已经介绍了Python+Selenium基础篇,通过前面几篇文章的介绍和练习,Selenium+Python的webUI自动化测试算是入门了.接下来,我计划写第二个系列:练习篇,通过一些练习,了解和掌握一些Selenium常用的接口或者方法. 练习场景:在某一个网页上有些字段是我们感兴趣的,我们希望摘取出来,进行其他操作.但是这些字段可能在一个网页的不同地方.例如,我们需要在关于百度页面-联系我们,摘取全部的邮箱. 思路拆分: 1. 首先,需要得到当前页面的source内容,就像,打开一个页

基于Python+selenium+Chrome的网页自动化教程

Python版本:Python2.7 Selenium版本:selenium3 Chrome版本: 浏览器驱动(chromedriver)版本: Python的安装 Python下载链接:https://www.python.org/ python安装完成后 ctrl+R输入cmd进入命令行界面,输入Python再按回车,如果出现Python版本信息则安装成功 Python安装selenium分为在线安装和离线安装. 离线安装: Selenium下载链接:https://pan.baidu.co

python+selenium+autoit实现文件上传

问题 在做web端ui层自动化的时候会碰到文件上传的操作,经常有朋友问到,这里总结一下 解决方案 第一种:type=file的上传文件,类似如下的 使用类似这样的代码就可以完成: driver.find_element('name','file').send_keys('./小强测试品牌.png') 第二种:就是第一种除外的,实现起来较为麻烦,这里用到了autoit,大致步骤如下: 1.下载并安装autoit,之后在开始菜单可以看到如下 AutoIt Windows Info 用于识别Windo

python selenium等待特定网页元素加载完毕

selenium等待特定元素加载完毕 is_disappeared = WebDriverWait(driver, 8, 0.5, ignored_exceptions=TimeoutException).until(lambda x: x.find_element_by_id("id").is_displayed())

从一个网页上摘取想要的元素

示例:从网页上摘取页面中的所有邮箱 import java.io.BufferedReader; import java.io.FileReader; import java.io.InputStreamReader; import java.net.URL; import java.net.URLConnection; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Test { publ

Python Selenium 文件上传(二)

今天补充一种文件上传的方法 主要是因为工作中使用SendKeys方法不稳定,具体方法见: Python Selenium 文件上传(一) 这种方法直接通过命令行执行脚本时没有问题,可以成功上传,但是如果通过saltstack 远程控制执行时,SendKeys就定位不到窗口了. 所以采用这种新的方式来实现文件上传功能,并完美的解决了这个问题. 具体操作步骤如下: 1.下载工具 AutoIt及使用 AutoIt目前最新是v3版本,这是一个使用类似BASIC脚本语言的免费软件,它设计用于Windows

Python Selenium 文件上传(一)

昨天写了Web 文件下载的ui自动化,下载之后,今天就要写web 文件上传的功能了. 当然从折腾了俩小时才上传成功.下面写一下自己操作的步骤 首先网上说的有很多方法 如 input 标签的最好做了,直接定位到元素,然后再sendKeys("value")即可 <input id="file_name" class="text-1 w255" type="text" readonly="" value=

selenium python (十四)上传文件的处理

#!/usr/bin/python# -*- coding: utf-8 -*-__author__ = 'zuoanvip' #上传过程一般要打开一个系统的windows窗口,从窗口选择本地文件添加.所以一般会卡在如何操作本地window窗口.解决的方法很简单,只需要定位到上传按钮,然后通过send_keys添加本地文件路径即可from selenium import webdriverimport  osimport time driver = webdriver.Firefox() #打开

【Python爬虫】批量抓取网页上的视频

1.为何学python 编程语言方面,本科这几年一直都用C/C++,因为研究生方向与机器学习相关,所以最近大部分时间在学机器学习,看了<机器学习实战>这本书,里面的实例都是用python来写,并且目前来说,对机器学习算法支持得比较多的语言是python,matlab/octave当然也很适合用于机器学习,但是毕竟是学术工具,速度等方面肯定不如python,工业开发还是用python.c++. 总之对于学习机器学习,python以及NumPy库要熟悉. 所以这两天决定学一下python,就找了个