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