摘要: 1 def on_start(self): 2 self.crawl('http://bbs.byr.cn/board/Python', 3 headers={'X-Requested-With': 'XMLHttpRequest'}, 4 callback=self.index_page) 5 6 self.craw... 阅读全文
posted @ 2017-11-02 14:00 大明湖畔的守望者 阅读(731) 评论(0) 推荐(0) 编辑
摘要: 配置文件一般是在/etc/squid3/下的squid.conf文件 pyspider使用的时候只需要设置代理服务器为你配置好的服务器的IP就可以了 1 class Handler(BaseHandler): 2 crawl_config = { 3 'proxy': '127.0.0.1:6666 阅读全文
posted @ 2017-11-02 13:58 大明湖畔的守望者 阅读(925) 评论(0) 推荐(0) 编辑
摘要: 1 response.url final url 2 response.text response 内动,unicode编码 3 response.content 字节表示 4 response.doc Pyquery对象 5 response.json类型 6 response.status_co 阅读全文
posted @ 2017-11-02 13:57 大明湖畔的守望者 阅读(153) 评论(0) 推荐(0) 编辑
摘要: pyspider 的内容选择器默认已经实例化一个pyquery对象,可以直接使用pyquery的api来获取自己需要的内容。 例:html:"<head><title>hello</title></head>" response.doc('head').html()#返回<title>hello</ 阅读全文
posted @ 2017-11-02 13:56 大明湖畔的守望者 阅读(964) 评论(0) 推荐(0) 编辑
摘要: 在OpenResty里面选择使用库的时候,有一个基本的原则:尽量使用ngx Lua的库函数,尽量不用Lua的库函数,因为Lua的库都是同步阻塞的。 再来一个例子来说明阻塞API的调用对nginx并发性能的影响 ab测试一下 可以看到,如果不使用ngx_lua提供的sleep函数,nginx并发处理性 阅读全文
posted @ 2017-11-02 11:25 大明湖畔的守望者 阅读(1097) 评论(0) 推荐(1) 编辑
摘要: http://nginx.org/en/docs/http/ngx_http_core_module.html#client_body_buffer_size 该地址对于client_body_buffer_size配置做了说明 syntax: client_body_buffer_size siz 阅读全文
posted @ 2017-11-02 11:19 大明湖畔的守望者 阅读(5137) 评论(0) 推荐(0) 编辑
摘要: 1、读取请求体中参数 2、string库 返回字符串的长度。 匹配字符串,查找开始和结束位置 s为母字符串 p为子字符串 init默认为1,从开始查找;如果为负数,则从string.len(s)+init处开始向右查找 plain默认false,如果为true,将视p为一个字符串 格式化字符串 fo 阅读全文
posted @ 2017-11-02 11:05 大明湖畔的守望者 阅读(1911) 评论(3) 推荐(0) 编辑
摘要: nginx的一大功能就是完成静态资源的分离部署,减轻后端服务器的压力,如果给这些静态资源再加一级nginx的缓存,可以进一步提升访问效率。 第一步:添加nginx.conf的http级别的缓存配置 此处的重点在最后一句,缓存存储路径为:/usr/local/nginx/cache,levels=1: 阅读全文
posted @ 2017-11-02 10:38 大明湖畔的守望者 阅读(58245) 评论(0) 推荐(1) 编辑
摘要: 粘贴一段百度对gearman的解释: Gearman是一个用来把工作委派给其他机器、分布式的调用更适合做某项工作的机器、并发的做某项工作在多个调用间做负载均衡、或用来在调用其它语言的函数的系统。 lua-resty-gearman模块用于在lua中调用gearman github地址 https:/ 阅读全文
posted @ 2017-11-01 14:39 大明湖畔的守望者 阅读(604) 评论(0) 推荐(0) 编辑
摘要: function printTableItem(k, v, level) for i = 1, level do io.write(" ") end io.write(tostring(k), " = ", tostring(v), "\n") if type(v) == "table" then if not tablePr... 阅读全文
posted @ 2017-11-01 13:59 大明湖畔的守望者 阅读(946) 评论(0) 推荐(0) 编辑