打卡第2天,好像很久没有来了一样,今天的题目是获取网页上的邮箱地址。
1.selenium获取源码:page.source
2.python的 re 模块的使用,利用正则表达式匹配邮箱的字符串,目标字符串:xxx@xxx.xx
3.输出邮箱
from selenium import webdriver import re driver = webdriver.Chrome() 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)#正则表达式匹配邮箱格式的字符串 email1=set(emails) for email in email1: print(email)
打印结果
campusmaster@baidu.com
bdjb@baidu.com
mbaidu@baidu.com
upmco@baidu.com
zhanzhangpingtai@baidu.com
记录学习内容
1.首先并不知道如何获取源码,然后网上搜索就出来了,selenium有获取源码的方式
2.从源码中找到邮箱,学习了python的正则表达式,虽然很多还没有学会,但是会写简单的正则表达式了,例子中:\w 代表 [a-zA-Z0-9]
3.re.findall返回的是一个列表,我练习的结果是返回有重复值,然后在源码里查询了一下邮箱,的确每个邮箱都重复了一次,于是这里希望输出不重复的列表元素,就使用了set,当然这样列表里元素的顺序就改变了
参考:https://blog.csdn.net/u011541946/article/details/68485981