前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Selenium获取网页源码

Selenium获取网页源码

作者头像
Altumn
发布2019-10-21 17:33:38
6K0
发布2019-10-21 17:33:38
举报
文章被收录于专栏:软件测试testclass

写在前面

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结构等一大箩筐技能。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-04-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 软件测试testclass 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档