前言:
有時候通過元素的屬性的查找頁面上的某個元素,可能不太好找,這時候可以從源碼中爬出想要的信息。selenium的page_source方法可以獲取到頁面源碼。
本次以博客園為例,先爬取頁面源碼,通過re正則表達式爬取出url,再進行篩選出http 協議的 url -- 用if做判斷。
源碼整理如下
from selenium import webdriver
import re
driver = webdriver.Chrome()
driver.get("https://www.cnblogs.com/Teachertao/")
page = driver.page_source
# print(page)
# "非貪婪匹配,re.S('.'匹配字符,包括換行符)"
url_list = re.findall('href=\"(.*?)\"', page)
#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)