路飞学城—Python爬虫实战密训班 第二章 一.Selenium基础 Selenium是一个第三方模块,可以完全模拟用户在浏览器上操作(相当于在浏览器上点点点). 1.安装 - pip install selenium 2.优缺点 - 无需查看和确定请求头请求体等数据细节,直接模拟人点击浏览器的行为 - 效率不高 3.依赖驱动: - Firefox https://github.com/mozilla/geckodriver/releases - Chrome http://chromedri…
路飞学城—Python爬虫实战密训班 第三章 一.scrapy-redis插件实现简单分布式爬虫 scrapy-redis插件用于将scrapy和redis结合实现简单分布式爬虫: - 定义调度器 - 定义去重规则: 本质利用redis 集合元素不重复(被调度器使用) # 看源码request_seen函数 安装: pip3 install scrapy-redis 1. redis配置文件settings.py #from scrapy_redis import defaults # 查看默认…
前言 原创文章,转载引用务必注明链接.水平有限,如有疏漏,欢迎指正. 之前看阮一峰的博客文章,介绍到路飞学城爬虫课程限免,看了眼内容还不错,就兴冲冲报了名,99块钱满足以下条件会返还并送书送视频. 缴纳99元保证金即可参与,只要完成3次作业和参与直播,提交学习笔记,就可以退还保证金,还可获得<Python全栈开发实战>及内部教材书籍,视频课程.定制文化衫等作为奖励.另外,还会有1对1的导师逐行批改你的代码.讲师3次直播答疑,还有班主任组队小伙伴共同学习. 好像打了一次广告,麻烦luffy的工作…
这个爬虫集训课第三章的作业讲得是Scrapy 课程主要是使用Scrapy + Redis实现分布式爬虫 惯例贴一下作业: Python爬虫可以使用Requests库来进行简单爬虫的编写,但是Requests的性能很差,一个请求耗时在2秒左右,毫无性能. 当然也可以使用gevent和asyncio来实现协程提升性能.但是要实现分布式爬虫的话,还是要用Scrapy, Scrapy内部是使用的 twisted实现的异步功能. 贴下作业目录. 下边记录下作业完成中遇到的问题 作业实现过程:1.windo…
自学Python的时候看了不少老男孩的视频,一直欠老男孩一个会员,现在99元爬虫集训果断参与. 非常喜欢Alex和武Sir的课,技术能力超强,当然讲着讲着就开起车来也说明他俩开车的技术也超级强! 以上是闲扯,开始正式话题. -----------------------------------------------华丽的分割线-------------------------------------------------- 爬虫是什么 百度上是这样讲的. 网络爬虫(又被称为网页蜘蛛,网络机器…
本次爬虫集训的第二次作业是web微信. 先贴一下任务: 作业中使用到了Flask. Flask是一个使用 Python 编写的轻量级 Web 应用框架.其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2 .Flask使用 BSD 授权. Flask也被称为 “microframework” ,因为它使用简单的核心,用 extension 增加其他功能.Flask没有默认使用的数据库.窗体验证工具. Flask和Django相比更小巧灵活. 贴一下完成的作业: 其中使用到j…
学习心得: 通过这一章的作业,使我对正则表达式的使用直接提升了一个level,虽然作业完成的不怎么样,重复代码有点多,但是收获还是非常大的,有点找到写代码的感觉了,遗憾的是,这次作业交过,这次集训就结束了,后面视频中的作业和内容将不再做讲解,也没有作业批改,不论如何这次集训对于自己提升还是蛮多的,真的要感谢路飞这个学习平台. 学习笔记: 三元运算: 三元运算又称三目运算,是对简单的条件语句的简写. #简单条件语句 if 条件成立: val=1 else: val=2 #改成三元运算 val=1…
学习体会: 在参加这次集训之前我自己学过一段时间的Python,看过老男孩的免费视频,自我感觉还行,老师写的代码基本上都能看懂,但是实际呢?....今天是集训第一次交作业的时间,突然发现看似简单升级需求,自己硬是一点思路没有,慢慢的想了想,有了点思路,但是发现想用列表时,却忘了有哪些方法,想到用文件存储用户信息,文件操作竟然也忘了,通过查找之前笔记和网上资料,最后终于磕磕绊绊把程序写完了,虽然写完了,但思路感觉还不太清晰,看来以后真的要多练了,光看不练真的不行. 另外之前也记过一些笔记,之前有记…
学习心得: 学习笔记: 在python中一个py文件就是一个模块 模块好处: 1.提高可维护性 2.可重用 3.避免函数名和变量名冲突 模块分为三种: 1.内置标准模块(标准库),查看所有自带和第三方模块总数的方法:help("modules"),带下划线的是系统调用的,我们用的主要是不带下划线的. 2.第三方开源模块,可通过pip install 模块名  联网安装 3.自定义模块 模块调用: import module from module import xx from xx.x…
学习心得: 这章对编码的讲解超级赞,现在对于编码终于有一点认知了,但还没有大彻大悟,还需要更加细心的琢磨一下Alex博客和视频,以前真的是被编码折磨死了,因为编码的问题而浪费的时间很多很多,现在终于感觉看到了一点光明,哈哈! 笔记: print(bin(343)) #0b101010111   返回整数的二进制表示 python2默认支持的编码是ASCII python3默认支持的编码是UTF8 科学计数法: print(1.2395e8) #123950000.0 e8代表10的8次方,这个e…