临街小站


  • 首页

  • 归档

  • 标签

  • 相册

  • 搜索
close
临街小站

Tornodo入门

发表于 2016-11-14 | 分类于 python | 阅读次数

引言

首先来谈谈c10k问题。所谓c10k问题,指的是服务器同时支持成千上万个客户端的问题,也就是concurrent 10000 connection。由于硬件成本的大幅度降低和硬件技术的进步,如果一台服务器同时能够服务更多的客户端,那么也就意味着服务每一个客户端的成本大幅度降低,从这个角度来看,c10k问题显得非常有意义。

Tornado在设计之初就考虑到了性能因素,旨在解决C10K问题,这样的设计使得其成为一个拥有非常高性能的框架。此外,它还拥有处理安全性、用户验证、社交网络以及与外部服务(如数据库和网站API)进行异步交互的工具。

阅读全文 »

临街小站

Today

发表于 2016-11-05 | 分类于 随笔 | 阅读次数

每年今日都在回忆去年,看了上个日记,仿佛一切还在昨天。最悠闲的大四上,忙碌的室友,熟悉的街道,那个离开几个月的城市有着无法忘记的记忆。思念我与我思念,有人说要变成memory,有人讲每个人都有secret,还有一个偶然与巧合之间消失不恋。有理想,有期待,还有对未来些许的匆匆惶惶

这边挺好,朝气蓬勃的人群,车来车往的主道,举头能见的四个大门,纤细苗条的北方姑娘和朦朦胧胧的夜晚。每个人都有干劲,有理想,也有对未来的直白愿景。我会在这里成为怎样的人呢,4年前我在深夜问过自己,5岁的自己还是20岁的自己,可选择的不太多,这里的人和事不会让你挥霍,希望自己运气不错,活的纯粹简单。

渐渐融入,让自己改变一些。健身、摄影、读书、记录自己的生活,努力让自己拥有有趣的外壳有趣的人生。时间不多了,认真去做

临街小站

Scrapy爬取知乎两种思路

发表于 2016-11-03 | 分类于 python | 阅读次数

介绍两种直接爬取知乎的方法,一种是通过CrawlSpider类,从Question页面开始,通过Rule自动填充带爬取页面;第二种是登录知乎首页之后,通过模拟js下拉页面发送ajax请求解析返回json数据填充原有的zhihu首页爬取。实际上还有另外一种,我们使用scrapy splash模块或者selenium工具模拟js操作,这种方法相比第二种方法更直接、简便,之后的文章会有介绍。

在做这些之前,首先你要设置好item的feed以及通用的header。这些在我其他的一些文章中有提到过

阅读全文 »
临街小站

Scrapy解决formrequest中formdata为dict问题

发表于 2016-11-02 | 分类于 python | 阅读次数

在Scrapy的FormRequest中直接将formdata设置为dict形式后,scrapy经过字节编码形式的转换,会发出一个非期望的request,例如:

阅读全文 »
临街小站

Scrapy笔记

发表于 2016-10-31 | 分类于 python | 阅读次数

这里记录两种使用率最高的Spider:Spider和他的子类CrawlSpider.


组件梳理

先对整个Scrapy的部件进行梳理:

  • Scrapy Engine
    引擎负责控制数据流在系统中所有组件中流动,并在相应动作发生时触发事件。

  • 调度器(Scheduler)
    调度器从引擎接受request并将他们入队,以便之后引擎请求他们时提供给引擎。

  • 下载器(Downloader)
    下载器负责获取页面数据并提供给引擎,而后提供给spider。

    阅读全文 »
临街小站

Scrapy中关于Export Unicode字符集问题解决

发表于 2016-10-28 | 分类于 python | 阅读次数

使用命令行scrapy crawl spider_name -o filename将制定内容的item信息输出时,scrapy使用默认的feed export对特定的file类型文件支持,例如json文件是JsonLinesItemExporter,xml文件是XmlItemExporter,有时候我们对export的形式或者内容不太满意时,可以自己继承上面的类,自定义export子类。

默认显示的中文是阅读性较差的Unicode字符,我们需要在settings文件中定义子类显示出原来的字符集。

阅读全文 »

临街小站

pyinstaller打包pyqt5问题解决

发表于 2016-10-23 | 分类于 python | 阅读次数

pyinstaller打包使用pyqt5模块的时候,在win平台下,由于pyinstaller无法准确获取QT动态库文件路径,会报错导致无法打开运行程序,并提示错误信息pyinstaller failed to execute script pyi_rth_qt5plugins此时我们需要在打包的时候直接告诉pyinstaller到哪里去找,这个路径分隔符需要是unix形式:

pyinstaller --paths C:/****/Python/Python35-32/Lib/site-packages/PyQt5/Qt/bin -F -w ****.py

临街小站

Django笔记

发表于 2016-10-14 | 分类于 python | 阅读次数

模式

整个django大体上使用MTV架构:

  • M–>Model

Model主要是建立起实体关系,根据不同Model之间的联系创建数据库,Model是实体,Model的属性是实体的属性,实体间的联系主要由外键控制。

表数据的增删改查就是Model类对象的创建、删除、过滤查找。

Modelname.objects返回类的句柄

阅读全文 »

1…567…24
clinjie

clinjie

189 日志
38 分类
69 标签
RSS
github weibo zhihu
Creative Commons
© 2019 clinjie
由 Hexo 强力驱动
主题 - NexT.Muse