小编Jab*_*abb的帖子

Scrapy:项目和字段的默认值.什么是最好的实施?

据我所知,从网上的文档和各种讨论中可以看出,向scrapy项中的字段添加默认值的功能已被删除.

这不起作用

category = Field(default='null')
Run Code Online (Sandbox Code Playgroud)

所以我的问题是:用默认值初始化字段的好方法是什么?

我已经尝试将其实现为此处建议的项目管道,但没有任何成功. https://groups.google.com/forum/?fromgroups=#!topic/scrapy-users/-v1p5W41VDQ

scrapy

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

如何在scrapy(Python)中间件中实现并发

编辑2

第二种方法.目前,我放弃了使用多个实例并配置了scrapy设置,不使用并发请求.它很慢但很稳定.我开了一笔赏金.谁可以帮助同时完成这项工作?如果我将scrapy配置为同时运行,则会出现分段错误.

class WebkitDownloader( object ):

    def __init__(self):
        os.environ["DISPLAY"] = ":99"
        self.proxyAddress = "a:b@" + PROXY_DEFAULT_HOST + ":" + str(PROXY_DEFAULT_PORT)


    def process_response(self, request, response, spider):
        self.request = request
        self.response = response
        if 'cached' not in response.flags:
            webkitBrowser = webkit.WebkitBrowser(proxy = self.proxyAddress, gui=False, timeout=0.5, delay=0.5, forbidden_extensions=['js','css','swf','pdf','doc','xls','ods','odt'])
            #print "added to queue: " + str(self.counter)
            webkitBrowser.get(html=response.body, num_retries=0)
            html = webkitBrowser.current_html()
            respcls = responsetypes.from_args(headers=response.headers, url=response.url)
            kwargs = dict(cls=respcls, body=killgremlins(html))
            response = response.replace(**kwargs)
            webkitBrowser.setPage(None)
            del webkitBrowser
        return response
Run Code Online (Sandbox Code Playgroud)

编辑:

我试图在此期间回答我自己的问题并实现了一个队列,但由于某种原因它不会异步运行.基本上当webkitBrowser.get(html=response.body, num_retries=0)忙碌时,scrapy会被阻止,直到方法完成.新请求未分配给其余的可用实例 …

python scrapy

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

使用Python访问mpeg ts流的最后30秒的最有效和最有效的方法是什么?

我有一个来自我的dvb卡的mpeg ts流写入磁盘.我想从Python连续访问此流(最后30秒,每20秒).

我不是在寻找一个完整的解决方案,而是一些想法如何在CPU和RAM使用方面以最有效的方式实现这一目标.

任何想法将不胜感激!

python ffmpeg numpy

5
推荐指数
0
解决办法
51
查看次数

如何使用Python以最pythonic的方式转换元组列表(也许使用zip)

我有这个数据结构:

[((u'die', u'die'), (u'welt', u'WELT')), 
 ((u'welt', u'WELT'), (u'ist', u'ist'))]
Run Code Online (Sandbox Code Playgroud)

如何以最pythonic的方式将上述结构转换为以下结构?带拉链?

[((u'die', u'welt'), (u'die', u'WELT')), 
 ((u'welt', u'ist'), (u'WELT', u'ist'))]
Run Code Online (Sandbox Code Playgroud)

python tuples list

4
推荐指数
1
解决办法
52
查看次数

如何使用 GNU 并行运行命令列表,其中 4 个命令同时运行

我有我想要调用的 shell 命令列表。最多可同时运行四个进程。

一旦进程计数低于 4,下一个命令就会发送到 shell,直到所有命令完成。

我已经从 stackoverflow 的同事那里得到了一个“部分”工作的解决方案,但是它依赖于 wait -n,这在我的 debian wheezy 安装中不可用。

链接到其他 stackoverflow 问题

一个人提到了 GNU Parallel。这能实现吗?非常感谢任何指导!

nohup scrapy crawl urlMonitor -a slice=0 &
nohup scrapy crawl urlMonitor -a slice=1 &
nohup scrapy crawl urlMonitor -a slice=2 &
nohup scrapy crawl urlMonitor -a slice=3 &
nohup scrapy crawl urlMonitor -a slice=4 &
nohup scrapy crawl urlMonitor -a slice=5 &
nohup scrapy crawl urlMonitor -a slice=6 &
nohup scrapy crawl urlMonitor -a slice=7 &
nohup scrapy crawl urlMonitor …
Run Code Online (Sandbox Code Playgroud)

linux debian gnu gnu-parallel

2
推荐指数
1
解决办法
761
查看次数

如何计算与特定日期范围匹配的Google电子表格中的元素

我在列中有一些数据,第一列和数据列中有时间戳.

A             B         C         D
+++++++++++++++++++++++++++++++++++
20.5.2011     1         2         5
18.5.2011     3         5         4
12.5.2013     4         7         5
Run Code Online (Sandbox Code Playgroud)

我可以使用此Google电子表格公式根据时间戳成功过滤columndata.如果存在相应的2011时间戳,则下面返回B列中所有整数的总和.

=ArrayFormula(SUMIF(TEXT($A:$A;"yyyy");year(today())-1;$B:$B))
Run Code Online (Sandbox Code Playgroud)

以上总结了b列中的值1和3并返回4

问题是,如何计算上述值1和3的平均值,得出2?我目前的方法是将上述公式除以与日期标准匹配的项目的count(),但我无法使其工作.

=ArrayFormula(SUMIF(TEXT($A:$A;"yyyy");year(today())-1;$B:$B))/WFORMULA FOR THE DIVISOR
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

google-sheets

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

排除 [\W\d]+ 正则表达式中匹配的句点字符

我想从字符串中删除除字母字符和句点之外的所有内容。我用 python 做了下面的函数。我将如何扩展正则表达式,以便不从字符串中删除句点?这需要适用于 unicode 字符串。

def normalize(self, text):
    text = re.sub(ur"(?u)[\W\d]+", ' ', text)
    print text
    return text
Run Code Online (Sandbox Code Playgroud)

python regex

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

如何将ffmpeg输入流的输出文件大小限制为10 MB

我正在使用ffmpeg订阅tvheadend的输入流,并将该流连续写入磁盘。我想限制此输出流,以便随时最多存储10兆字节的数据。

我已经从moreutils和linux buffer命令研究了海绵,以构建某种管道。虽然,我找不到可行的解决方案。谁能指出我正确的方向?

ffmpeg

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

标签 统计

python ×4

ffmpeg ×2

scrapy ×2

debian ×1

gnu ×1

gnu-parallel ×1

google-sheets ×1

linux ×1

list ×1

numpy ×1

regex ×1

tuples ×1