测试必须在时间、质量和成本之间获取一个平衡点,这是测试策略和测试设计的价值体现。
2.18 爬页面源码(page_source)
上一篇 /
下一篇 2018-06-12 10:52:39
/ 个人分类:Python+Selenium2 WebDriver API
2.18 爬页面源码(page_source)
.D"Wh&~6B3VkI0前言51Testing软件测试网5F6g? i$U+w8w
有时候通过元素的属性的查找页面上的某个元素,可能不太好找,这时候可以从源码中爬出想要的信息。selenium的page_source方法可以获取到页面源码。51Testing软件测试网4K)C{8V8K
一、page_source51Testing软件测试网/|0tpxz
1.selenium的page_source方法可以直接返回页面源码51Testing软件测试网2e(J9W&i,E`%E
2.重新赋值后打印出来
!x-M(KjN)Gp`0x7Q%\7IX*|.\1[0
cMPv]TAT"Jz051Testing软件测试网_
\!}-Tk5F-v-_g二、re非贪婪模式51Testing软件测试网s4]4Dt'c3O
1.这里需导入re模块(正则表达式模块)
`5q)b/U3L.BP02.用re的正则匹配:非贪婪模式51Testing软件测试网"r%i#J2M2Y
3.findall方法返回的是一个list集合
4KfwL%OmoE9u5}04.匹配出来之后发现有一些不是url链接,可以筛选下
c#sWDYD0)PLh/?F
x051Testing软件测试网Z5Jq.Hcz
&KdaI3r{"VX0三、筛选url地址出来
k&qy*G S;ri&jo n
d01.加个if语句判断,‘http’在url里面说明是正常的url地址了51Testing软件测试网wp5aC[p`k
2.把所有的url地址放到一个集合,就是我们想要的结果啦
0RW5dg/b7yd0Y.@F'DiM
H0
d \
JC0Rw0A0a1l5k Qp&xc0四、参考代码
d%oQ@'u9c0hizv0#coding:utf-8fromseleniumimportwebdriverimportre
driver=webdriver.Firefox()
driver.get("http://www.cnblogs.com/yoyoketang/")
page=driver.page_source#print page#"非贪婪匹配,re.S('.'匹配字符,包括换行符)"url_list = re.findall('href=\"(.*?)\"', page, re.S)
url_all=[]forurlinurl_list:
if"http"inurl:
printurl
url_all.append(url)#最终的url集合printurl_all
收藏
举报
TAG: