包含标签 python 中的文章

[python]yield使用的最佳实践[1]

http://www.dabeaz.com/coroutines/Coroutines.pdf 准备 python: 2.7.12 os: mac os 结论 [使用场景] 迭代生成数据(生产者) 接收数据(消费者) 中断(协作式的任务) 任何脱离以上三个场景的使用yield,请使用其它方法处理,yield是很好用,但不至于到处都可以使用的地步 协程和生成器-Coroutines and Generators 在python2.5 开始 ,生成器就已经加入一……

阅读全文

[selenium-grid]多机分布式环境下的selenium集群

源起 还是爬虫里面的某个场景需要重度使用selenium场景 ,所以需要起这样一个集群 对比 单机 docker docker-compose 分布式集群 我们在使用selenium 的时候,我们一般就使用以上的环境和模式,单机怎么操作呢,下载相应的webdriver 单机 对于小型的使用环境,比如单线程操作,我们直接下载好相应版本的d……

阅读全文

[可视化抓取]portia2.0尝鲜体验以及自动化畅想[1]

缘起 最近一直在思考如何更改智能化抓取的事情,每当来了一个新的task,都要自己手动分析,手动写xpath ,然后写正则,各种测试,各种部署,其实说来,这些事情的重复度很高,那我们能不能把一些重复性的动作抽象出来,做成一个独立的单元呢?在参考佷多类似的自动化的工具之后,猜想了如下的动……

阅读全文

scrapy经验分享-同一项目不同的spider启用不同的配置

在群里经常被问到如何解决同一个爬虫启用不同的piepline的问题,一般的解决通过参数的不同解决这个 def process_item(self, item, spider): self._client.create_index([('msg_id', pymongo.DESCENDING)], background=True) self._client.update_one(filter={'msg_id': item['msg_id']}, update={'$set': dict(item)}, upsert=True) return item 代码中有两个重要的参数item,还有一个spider ,我们打个断点来看看spider 里面的都有些什么 简单点我们可以通过name做逻辑上的判断 if spider.name == 'spider_1': do sth....……

阅读全文

[scrapy]scrapy源码分析--数据是如何处理的

目录 下载中间件(Download MiddleWare)是如何加载的 Spider MiddleWare是如何加载的 配置文件是如何起作用的 整体的执行流程是怎样的 扩展件是如何工作的 数据是怎么处理的 分析 我们正常的思路就是从spider的parse方法来着手,因为我们写的最多的代码就是从这里开始的,这……

阅读全文

[爬虫资源]各大爬虫资源大汇总,做我们自己的awesome系列

大数据的流行一定程序导致的爬虫的流行,有些企业和公司本身不生产数据,那就只能从网上爬取数据,笔者关注相关的内容有一定的时间,也写过很多关于爬虫的系列,现在收集好的框架希望能为对爬虫有兴趣的人,或者想更进一步的研究的人提供索引,也随时欢迎大家star,fork ,或者提issue,让……

阅读全文

[搜索引擎searx]10分钟搭建一个好玩的python全文搜索引擎

源起 之前有一个群友在群里问个如何快速搭建一个搜索引擎,在搜索之后我看到了这个 代码所在 Git:https://github.com/asciimoo/searx 官方很贴心,很方便的是已经提供了docker 镜像,基本pull下来就可以很方便的使用了,执行命令 cid=$(sudo docker ps -a | grep searx | awk '{print $1}') echo searx cid is $cid if [ "$cid" != "" ];then sudo docker stop $cid sudo docker rm $cid fi sudo docker run -d --name searx -e IMAGE_PROXY=True -e BASE_URL=http://yourdomain.com -p 7777:8888 wonderfall/searx 然后就可以……

阅读全文

[调度]可视化的调度架构-Dagobah

Dagobah 简介 Dagobash 是用 python 编写的一个简单的基于依赖关系的作业调度器。 Dagobah 允许你使用 Cron 语法安排调度工作,你可以非常简单的通过 web 界面点击拖动来定义每个工作的一系列任务的依赖关系。 Dagobash 可以让你重试失败的单个任务,给你发送有用的工作任务成功和失败的报告,并且可以在多种后台持久化你的数据,这样你就不用担心……

阅读全文

[python代码生成器]jinja2模板引擎下的代码生成器

当慢慢了解做一些重复性的工作时候,我们都会思考,有没有什么办法简化工作,人因为懒洗衣服,所以有洗衣机,因为懒打扫,所以洗尘器,洗碗机,程序员们的懒,更多的是简化工作和抽象上,比如某个动作能不能封装成函数,进而封装成类,或者包,这样的懒才会有进步,才能将更多的时间放在一些值得关注的……

阅读全文

[读书]编写高质量的python程序的91个建议(3)

声明,这些读书笔记我都是跳跃性的去找对我项目有帮助的,有一些废话我就直接删除了,所以一般不会特定的保留顺序,如果需要参考原版,请参考书中的内容。 9.数据交换值的时候不推荐使用中间变量。 之前大家一般都会使用中间变量来交换值,现在推荐直接交互。比如 x,y = y,x 那我们更深入一点,为什么会快呢……

阅读全文

最近文章

分类

标签

.net Core 2.1 2016 2017 2018 30 aliyun api async bi,微软大数据 blocking bug C# celery charles chrome chrome headless clang conda coroutine cron cuda dag dagobah darknet debug docker docker-compose dotnet core echo elk epoll error error_code etl flask GC go golang google gpu gunicorn http javascript linux lxml mac message queue mongodb nginx node non-blocking nvidia nvidia-docker opencv oss phantomjs pipeline portia proxy pycharm pytest python python-rq python2.7 python3 remote debug rq scrapy select selenium selenium-web-driver spider splash ssis sync TDD Template Tensorflow test tmux torch ubuntu venv video vscode web web framework webapi whistle xpath yield yolo yolov3 中间件 事件 人生 代理 代码 代码生成器 代码风格 优化 使用 分布式 分析 协程 卓老板聊科技 原理 可变类型 可视化 同步 垃圾回收 培训 基础 处理 多线程 大数据 学习 定时 定时任务 容器 工具 工程 底层 建议 异步 录制 心得 心得,python,培训班 总结 感悟 成长 打断点 技巧 推荐 插件 搜索引擎 播放 效率 数据 数据库 数据清洗 整洁 无头浏览器 日志 机器学习 架构 死亡 测试 消息队列 深度学习 渲染 源码 源码分析 点击 爬虫 状态码 生活 癌症 监听 破解验证码 线程 经验 网关 自我管理 自由 虚拟环境 视觉化爬虫 视频 设计 读书 调度 调试 负载均衡 远程调试 错误 阻塞 阿里云 隧道 隧道代理 集群 非阻塞 项目管理 验证码

友情链接

其它