selenium3 + python

前言:

有时候通过元素的属性的查找页面上的某个元素,可能不太好找,这时候可以从源码中爬出想要的信息。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)
原文地址:https://www.cnblogs.com/Teachertao/p/10989353.html