测试网站页面,往往是考验测试眼力的时候,大多数情况都要打开网站页面对着原型图一点点比对。如果碰到网页加载太慢或者需要测试兼容性的时候很是心累,如果可以利用程序自动将对应的网页截图,然后直接拿着原型跟截图比对呢,会不会稍微好一些呢?

以下就是我个人写的网页爬虫小程序,程序主要是获取某网页链接及其页面中的所有有效链接,并将有效链接打开的页面截图保存到指定目录中

coding=utf-8
import requests
from selenium import webdriver
import os,time,re
#获取搜狐网页所有有效链接,并将链接到的页面截图保存到指定目录中
class PS_sohu(object):def __init__(self,path):self.driver=webdriver.Firefox()if os.path.exists(path):os.chdir(path)else:os.mkdir(path)os.chdir(path)#获取搜狐网页所有的有效链接
    def get_valid_link(self,url):response=requests.get(url)all_links=re.findall(r'href="(.*?)"',response.text)valid_links=[]#筛选出有效链接
        for link in list(set(all_links)):if re.search(r'(\.css)',link):continue
            elif link.find('javascript')!=-1 or link.find('mailto')!=-1:continue
            elif link.strip()==''or link.strip()=='#'or link.strip()=='/':continue
            elif link.startswith('//'):link='http:'+linkvalid_links.append(link.strip())else:valid_links.append(link.strip())return valid_links#得到有效链接的截图
    def get_picture(self,url_list):for url in url_list:try:self.driver.set_page_load_timeout(10)#设置网页加载超时时间为10秒
                self.driver.get(url)self.driver.get_screenshot_as_file('%d.png'%time.time())#截取网页内容,已当前时间戳为图片命名保存
                print self.driver.current_url#打印当前网页地址
            except:s= u'当前网页超时:%s\n' %url#将超时的网站保存到文件中
                with open('test.txt','a') as f:f.write(s)print sdef quit(self):self.driver.quit()
if __name__=="__main__":path=r'd:\dd\a'
    url='http://www.xxx.com'
    ps_sh=PS_sohu(path)valid_links=ps_sh.get_valid_link(url)s_time=time.time()ps_sh.get_picture(valid_links)print '用时:%d'%(time.time()-s_time)ps_sh.quit()

网页爬虫实例一(网页截屏)相关推荐

  1. 【截取整个网页】Chrome浏览器快速截屏,高清截图

    Chrome版本78,window 10系统 第一步:打开 Chrome 浏览器,输入网址,例如输入网址:https://www.golianghao.com. 第二步:Ctrl + shift + ...

  2. python3.4.4实现网页爬虫基础之网页下载器三种方法

    这是是慕课网<Python开发简单爬虫>中网页下载器的三种实现方法,课程用的是python2.7,这里用最新的3.4.4实现出来,分享给新人: import urllib.request ...

  3. python爬取豆瓣电影排行前250获取电影名称和网络链接[静态网页]————爬虫实例(1)

    目录 1.算法原理: 2.程序流程: 3.程序代码: 4.运行结果(部分结果展示): 5.结果分析: 1.算法原理: (1)利用import命令导入模块或者导入模块中的对象: ①利用requests库 ...

  4. asyncio aiohttp lxml 网页爬虫实例

    原因:查看asyncio ,aiohttp 和lxml配合的速度 # coding=utf-8 import asyncio import logging import time from aioht ...

  5. python应用:爬虫实例(静态网页)

    爬取起点中文网某本小说实例: 1 # -*-coding:utf8-*- 2 import requests 3 import urllib 4 import urllib2 5 from bs4 i ...

  6. web网页设计实例作业 网页Dreamweaver设计

    Web前端开发技术 描述 网页设计题材,DIV+CSS 布局制作,HTML+CSS网页设计期末课程大作业,公司官网网站 | 企业官网 | 酒店官网 | 等网站的设计与制 | HTML期末大学生网页设计 ...

  7. JavaScript实现网页截屏方法总结

    " 关注『前端开发博客』公众号,回复 加群 " 最近研究了下如何利用JavaScript实现网页截屏,包括在浏览器运行的JS,以及在后台运行的nodeJs的方法.主要看了以下几个: ...

  8. JavaScript 实现网页截屏五种方法

    JavaScript 实现网页截屏五种方法 最近研究了下如何利用JavaScript实现网页截屏,包括在浏览器运行的JS,以及在后台运行的nodeJs的方法.主要看了以下几个: PhantomJS P ...

  9. JS 实现网页截屏五种方法

    最近研究了下如何利用JavaScript实现网页截屏,包括在浏览器运行的JS,以及在后台运行的nodeJs的方法.主要看了以下几个: PhantomJS Puppeteer(chrome headle ...

  10. 【JS】1007- JavaScript实现网页截屏的5种方法

    作者:luckness 原文:https://segmentfault.com/a/1190000037673677 最近研究了下如何利用JavaScript实现网页截屏,包括在浏览器运行的JS,以及 ...

最新文章

  1. 论坛报名 | 从捉迷藏、星际争霸到新一代人工智能:多智能体深度强化学习的理论与实践...
  2. 第十六届全国大学生智能车竞赛广东赛区线上竞赛方案
  3. 记录MNIST采用卷积方式实现与理解
  4. Process.Start() 传递参数中有空格问题
  5. WebAPIs移动端特效——不看你就亏大了
  6. MAPLAP开发环境中release模式和debug模式烧写.hex文件的不同之处
  7. 第k个数组中的最小值
  8. 服务器字体指定 iconfont 字体的下载与使用 200303
  9. Pytorch 配置 Tensorboard 可视化学习(一)
  10. 今天,这些公众号被永久禁言
  11. Ubuntu 16.04 安装后网络、ssh禁止root、上传设置
  12. storm发布jar包时报找不到主类_咖啡5元一大包,进口饼干10元3包…济南有个临期食品超市,快过期的食品你会买单吗...
  13. Keil的安装与破解详细教程
  14. 使用OpenRefine清洗数据实例
  15. 无线传感器网络(双语)复习
  16. VR/AR/MR/XR 几种虚拟现实技术的区别
  17. 华为云注册登录之图像标签识别
  18. 【串口服务器rs485通信教程】存储型网关工作模式
  19. Python之OpenCV截取视频段
  20. 微软MPP2.0 Microsoft Pen Protocol V2.0 officialEEAP.pdf

热门文章

  1. 不可见的unicode字符
  2. python处理access数据库教程_Python操作Access数据库基本操作步骤分析
  3. 远程桌面命令是什么 如何使用命令连接远程桌面
  4. Ubuntu 安装远程桌面
  5. GTF - Great Teacher Friedman
  6. cocostudio学习
  7. C语言判断素数的三种方法 判断素数(质数)
  8. axure iphone8元件库_Axure8最全元件库整理
  9. gurobi和java,在Java中使用Gurobi与在Ampl中使用Gurobi
  10. python可视化网页设计_python可视化工具