Selenium获取网页源码

2019-10-21 17:33:38 浏览数 (1)

写在前面

Python Selenium可以做网络爬虫。所以,我们可以从网页源码中爬出想要的信息。

Selenium的page_source方法可以获取到页面源码。获取到源码以后可以再查找自己想要的信息。

源码保存

为了方便查看网页源码,我们可以借用python提供的方法,将获取到的网页源码写入到html文件中。

代码语言:javascript复制
#get_source.py
#www.testclass.cn
#Altumn
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("https://www.testclass.cn/")
driver.maximize_window()
driver.implicitly_wait(10)
page = driver.page_source

#打印源码,防止乱码加上编码格式;
print(page.encode("utf8"))

#保存网页源码名称为:testclass_cn.html,存储路径为工程根目录;
f=open('./testclass_cn.html',mode="w",encoding="utf-8")
f.write(page)

存储的网页效果(局部截图):

源码操作

成功获取源码以后,我们可以在源码中继续查找想要的信息。

例如,我想要获取该页面上所有关于‘.html’链接的信息。或者我们把抓取的URL集保存到本地文档中。

代码语言:javascript复制
#get_source.py
#www.testclass.cn
#Altumn
from selenium import webdriver
import re
driver = webdriver.Chrome()
driver.get("https://www.testclass.cn/")
driver.maximize_window()
driver.implicitly_wait(10)
page = driver.page_source

#用正则表达式匹配URL集;
url_list = re.findall('href="(.*?)"', page, re.S)
#打印出含有".html"的URL集
for url in url_list:    
    if ".html" in url: 
        print(url)
#存储获取到的URL到data.txt;
with open('data.txt','w') as f:    
    for url in url_list:
        f.write(url   'n')

上面主要介绍了Selenium获取网页源码的基本操作方法,如果想要精通爬虫,需要掌握一门语言如python,然后熟悉使用正则表达式,了解网页html结构等一大箩筐技能。

0 人点赞