python实战笔记第二弹—模拟浏览器执行过程
2018-01-09 17:48
337 查看
“高强度的实战训练,是每个高手成长的必经之路”—某个剑客的海贼曾说
通过观察我们发现,我们在点击海贼网http://op.hanhande.com/shtml/op_wz/list_2602_7.shtml的分页链接都是有迹可循的,这就给我们的抓取工作,带来了极大的便利。那么问题来了,如果一个网站的分页后产生的内容均是动态加载的,那我们应如何处理呢?
下面先由我介绍两款“神器”—phantomjs+selenium。
“聪明的探险家总是能得到他们所需要的东西”—大探险家伊泽
当我们接触一个新库,当然没必要完全了解其全部的功能。作为立志成为伟大探险家的男人,熟练地使用搜索引擎和官网API才是我们当下应该做的。
selenium如何做Web浏览器的自动化测试?
我们查阅selenium的官方API简单了解其作用
seleniumhttps://seleniumhq.github.io/selenium/docs/api/py/api.html
“Lambda 表达式”(lambda expression)是一个匿名函数,Lambda表达式基于数学中的λ演算得名,直接对应于其中的lambda抽象(lambda
abstraction),是一个匿名函数,即没有函数名的函数。Lambda表达式可以表示闭包。与其它语言不同,Python的Lambda表达式的函数体只能有唯一的一条语句。
下面是个Lambda表达式的例子:
如果不用Lambda表达式,而要写成常规的函数,那么需要这么写:
自python2.6开始,新增了一种格式化字符串的函数str.format(),可谓威力十足。那么,他跟之前的%型格式化字符串相比,有什么优越的存在呢?让我们来揭开它羞答答的面纱。
语法
它通过{}和:来代替%。
“映射”示例
通过位置
字符串的format函数可以接受不限个参数,位置可以不按顺序,可以不用或者用多次,不过2.6不能为空{},2.7才可以。
通过观察我们发现,我们在点击海贼网http://op.hanhande.com/shtml/op_wz/list_2602_7.shtml的分页链接都是有迹可循的,这就给我们的抓取工作,带来了极大的便利。那么问题来了,如果一个网站的分页后产生的内容均是动态加载的,那我们应如何处理呢?
下面先由我介绍两款“神器”—phantomjs+selenium。
“聪明的探险家总是能得到他们所需要的东西”—大探险家伊泽
当我们接触一个新库,当然没必要完全了解其全部的功能。作为立志成为伟大探险家的男人,熟练地使用搜索引擎和官网API才是我们当下应该做的。
selenium如何做Web浏览器的自动化测试?
我们查阅selenium的官方API简单了解其作用
seleniumhttps://seleniumhq.github.io/selenium/docs/api/py/api.html
“Lambda 表达式”(lambda expression)是一个匿名函数,Lambda表达式基于数学中的λ演算得名,直接对应于其中的lambda抽象(lambda
abstraction),是一个匿名函数,即没有函数名的函数。Lambda表达式可以表示闭包。与其它语言不同,Python的Lambda表达式的函数体只能有唯一的一条语句。
下面是个Lambda表达式的例子:
1 2 3 4 | #!/usr/bin/envpython li=[{"age":20,"name":"def"},{"age":25,"name":"abc"},{"age":10,"name":"ghi"}] li=sorted(li,key=lambda x:x["age"]) print(li) |
1 2 3 4 5 6 | #!/usr/bin/envpython def comp(x): return x["age"] li=[{"age":20,"name":"def"},{"age":25,"name":"abc"},{"age":10,"name":"ghi"}] li=sorted(li,key=comp) print(li) |
语法
它通过{}和:来代替%。
“映射”示例
通过位置
1 2 3 4 5 6 | In [1]: '{0},{1}'.format('kzc',18) Out[1]: 'kzc,18' In [2]: '{},{}'.format('kzc',18) Out[2]: 'kzc,18' In [3]: '{1},{0},{1}'.format('kzc',18) Out[3]: '18,kzc,18' |
相关文章推荐
- Python学习笔记(二)Pytho解释器和程序开发、执行过程
- [笔记]Python虚拟机对创建基本内置对象的执行过程
- Python爬虫实战03:用Selenium模拟浏览器爬取淘宝美食
- 【网络爬虫】【python】网络爬虫(三):模拟登录——伪装浏览器登录爬取过程
- Python爬虫框架Scrapy 学习笔记 10.2 -------【实战】 抓取天猫某网店所有宝贝详情
- spring mvc框架整个执行过程,从输入http url,到action映射,再到action处理,返回jsp文件,解析jsp文件,然后渲染, 到返回给浏览器展示结果
- Python爬虫(入门+进阶)学习笔记 1-6 浏览器抓包及headers设置(案例一:爬取知乎)
- SQL执行的过程笔记
- Selenium2 Python 自动化测试实战学习笔记(三)
- python 爬照片 模拟浏览器 先登录账号
- 深度学习21天实战Caffe学习笔记--笔记5--caffe中前向传播、反向传播及最优化求解过程
- JVM学习笔记(二)------Java代码编译和执行的整个过程
- Python爬虫实战——模拟登录教务系统
- 用Python模拟浏览器操作
- java程序模拟浏览器访问Web服务器的处理过程
- ATECC508A芯片开发笔记(五):Provision执行过程及代码分析
- python自动化--mock、webservice及webdriver模拟手机浏览器
- Python程序的执行过程
- 机器学习实战笔记(Python实现)-02-k近邻算法(kNN)
- 多线程的执行过程分析笔记