爬页面源码
有时候通过元素的属性的查找页面上的某个元素,可能不太好找,这时候可以从源码中爬出想要的信息。selenium 的 page_source 方法可以获取到页面源码。
一、page_source
1.selenium 的 page_source 方法可以直接返回页面源码
2.重新赋值后打印出来
二、 re 非贪婪模式
1.这里需导入 re 模块
2.用 re 的正则匹配:非贪婪模式
3.findall 方法返回的是一个 list 集合
4.匹配出来之后发现有一些不是 url 链接,可以删选下
三、删选 url 地址出来
1.加个 if 语句判断,‘http’在 url 里面说明是正常的 url 地址了
2.把所有的 url 地址放到一个集合,就是我们想要的结果啦
案例源码:
# coding:utf-8 from selenium import webdriver import re 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 = [] for url in url_list: if "http" in url: print url url_all.append(url) # 最终的 url 集合 print url_all