小编Dio*_*des的帖子

scrapy如何导出项目以分隔每个项目的csv文件

我正在抓一个足球网站,蜘蛛(一只蜘蛛)从网站的页面中获取了几种项目:Team,Match,Club等.我正在尝试使用CSVItemExporter将这些项目存储在单独的csv文件中,teams.csv ,matches.csv,clubs.csv等.

我不确定这样做的正确方法是什么.到目前为止,我想到的唯一方法是创建我自己的自定义管道,如示例 http://doc.scrapy.org/en/0.14/topics/exporters.html, 并在spider_opened方法中打开所有需要的csv文件,即为每个csv文件创建一个csv导出器,并在process_item中放置代码以确定哪个项目是"item"参数,然后将其发送到相应的导出器对象.

无论如何,我没有找到任何处理scrapy中的多个csv文件(每个项目类型)的例子,所以我担心我以一种不打算使用它的方式使用它.(这是我第一次使用Scrapy).

迪奥梅德斯

csv exporter scrapy

17
推荐指数
2
解决办法
6651
查看次数

最简单的Node.js回显服务器

我逐渐熟悉nodejs中的流,并且有一个问题:

我认为,这是最简单的nodejs“回显服务器”,即简单地通过管道将其返回到响应流的服务器,无论它通过请求流接收到什么。它有效,但有一个警告。客户端仅在关闭提交流后才收到数据。这是服务器代码:

var http = require('http')
var server = http.createServer(function (req, res) {
  req.pipe(res);
});
server.listen(8000);
Run Code Online (Sandbox Code Playgroud)

这是我如何测试它:

做以下工作就好了

term1> node server.js&

term2> echo 'hello world!'|curl --no-buffer --data-binary  @-  'http://localhost:8000'
hello world!
Run Code Online (Sandbox Code Playgroud)

但是,它只能工作是因为echo在完成后会关闭其输出文件描述符,即,服务器直到客户端发送完东西之后才会写任何东西:

term2>
term2> yes|curl --no-buffer --data-binary  @-  'http://localhost:8000'
Run Code Online (Sandbox Code Playgroud)

(这条线永远卡住了)

我希望yes它将很快填充流缓冲区,因此我将开始看到y很快恢复。不幸的是,他们从来没有这样做。

这是预期的吗?我应该如何使用溪流/管道以达到预期的效果?顺便说一下,我不在乎输出是否会成块返回……我知道那是流(或底层文件I / O)执行缓冲魔术的结果。

谢谢您的帮助

pipe stream node.js

6
推荐指数
1
解决办法
1万
查看次数

我的松弛自定义命令如何产生/提醒我像链接

我正在编写一个自定义松弛命令,它实现了一个像界面一样的任务管理器(我知道......那里有很多:-),我的接口有odesk/upwork来外包我的微任务:-)).

无论如何,我非常喜欢/ remind命令在其输出中包含完全删除等链接,以方便后续与输入命令的用户交互,我试图弄清楚如何做同样的技巧.

到目前为止,我所想到的是在我的输出中包含链接... GET /slack-link?method=POST&token=xxx&team_id=xx&command=.. 即在其查询字符串中携带完全json有效负载,松弛将从正常的自定义命令产生.slack-link充当"代理",其唯一的作用是将POST提交回我的正常松弛端点.我甚至可以为这些命令链重用相同的response_url.

我没有尝试过,但我认为这些网址只会打开另一个窗口,以便路径不会正常工作......

以前有人试过这样的事吗?

slack-api slack

5
推荐指数
1
解决办法
1255
查看次数

如何使用命令行在Github中添加协作者?

我想知道如何使用命令行将协作者添加到GitHub中的私人仓库.我在Mac(10.6.8)或Ubuntu 11.04上.

terminal github github-api

3
推荐指数
1
解决办法
4358
查看次数

标签 统计

csv ×1

exporter ×1

github ×1

github-api ×1

node.js ×1

pipe ×1

scrapy ×1

slack ×1

slack-api ×1

stream ×1

terminal ×1