selenium的page_source方法可以获取到页面源码,下面就把它应用到链接测试中。
# coding:utf-8 __author__ = 'helen' import re,requests from selenium import webdriver # 爬取网页资源,并用正则表达式匹配出URL def get_urlList(target_page): driver = webdriver.Firefox() driver.get(target_page) # 获取网页资源 page = driver.page_source # 用正则表达式匹配URL集 url_context = re.findall('href="(.*?)"',page,re.S) url_list = [] for url in url_context: # 因为url_context中匹配的内容有些不是URL,所以加个if来过滤一下 if 'http'in url: url_list.append(url) # 因为网页中的URL基本是正确的,下面我们可以加入一个不存在的URL,检查异常URL的输出 url_list.append('http://www.cnblogs.com/helenMemery/p/35.html') return url_list # 通过request.get检查URL的返回编码状态,以确认URL返回正常 def test_url(url_list): try: for url in url_list: r = requests.get(url=url) if r.status_code !=200: print url except requests.HTTPError,e: e.strerror if __name__ == '__main__': target_page = 'http://www.cnblogs.com/helenMemery/' url_list = get_urlList(target_page) test_url(url_list)
在此感谢悠总的分享:http://www.cnblogs.com/yoyoketang/p/6512604.html