python爬虫第9天 用爬虫测试网站 远程采集

网站的前端通常并没 有自动化测试,尽管前端才是整个项目中真正与用户零距离接触的唯一一个部分。

想象有一个由测试驱动的网络开发项目。每天进行测试以保证网络接口的每个环节的功能 都是正常的。每当有新的特性加入网站,或者一个元素的位置改变时,就执行一组自动化 测试


测试

测试和单元测试

虽然不同公司的单元测试定义和实践方法大相径庭,但是一个单元测试通常包含以下 特点。

• 每个单元测试用于测试一个零件(component)功能的一个方面

• 每个单元测试都可以完全独立地运行,一个单元测试需要的所有启动(setup)和卸载 (teardown)都必须通过这个单元测试本身去处理。单元测试不能对其他测试造成干扰, 而且不论按何种顺序排列,它们都必须能够正常地运行。 

• 每个单元测试通常至少包含一个断言(assertion)

• 单元测试与生产代码是分离的


Python单元测试

Python 的单元测试模块 unittest

先导入模块然后 继承 unittest.TestCase 类,就可以实现下面的功能:

• 为每个单元测试的开始和结束提供 setUp 和 tearDown 函数 

• 提供不同类型的“断言”语句让测试成功或失败 

• 把所有以 test_ 开头的函数当作单元测试运行,忽略不带 test_ 的函数


与网站进行交互

就像你可以在浏览器里对网站上的不同元素执行一系列操作一样,Selenium 也可以对任何 给定元素执行很多操作,如下所示:

myElement.click() myElement.click_and_hold() myElement.release() myElement.double_click() myElement.send_keys_to_element("content to enter")


。Selenium 可以轻松地完成鼠标拖放动作(drag-and-drop)


Python单元测试与Selenium单元测试的 选择

Python 的单元测试语法严谨冗长,更适合为大多数大型项目写测试,而 Selenium 的测试方 式灵活且功能强大,可以成为一些网站功能测试的首选。那么应该使用哪个呢?
答案是:不需要选择。Selenium 可以轻易地获取网站的信息,而单元测试可以评估这些信 息是否满足通过测试的条件。因此,你没有理由拒绝把 Selenium 导入 Python 的单元测试, 两者组合是最佳拍档。


分布式计算

PySocks 是一个非常简单的 Python 代理服务器通信模块,它可以和 Tor 配合使用


从网站主机运行 

无论现在还是将来,遇到一个网络数据采集项目时,你都应该问问自己以下几个问题。
• 我需要回答或要解决的问题是什么? • 什么数据可以帮助我,它们都在哪里? • 网站是如何展示数据的?我能准确地识别网站代码中包含信息的部分吗? • 该如何定位这些数据并获取它们? • 为了让数据更实用,我应该做怎样的处理和分析? • 怎样才能让采集过程更好,更快,更稳定



互联网其实就是一个用户界面不太友好的超级 API  !!!!!!!










  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值