小编Mah*_*tah的帖子

如何在ActiveAdmin中过滤IS NULL?

我有一个带有名为"map_id"的整数列的表,我想添加一个activeadmin过滤器来过滤此列是否为NULL或IS NOT NULL.

怎么能实现呢?

我尝试了以下过滤器

filter :map_id, :label => 'Assigned', :as => :select, :collection => {:true => nil, :false => ''}
Run Code Online (Sandbox Code Playgroud)

但是,我收到以下错误消息:

用于#的未定义方法`map_eq'

formtastic meta-search ruby-on-rails-3 activeadmin

18
推荐指数
3
解决办法
6985
查看次数

如何在scrapy中覆盖/使用cookie

我想废弃http://www.3andena.com/,这个网站首先用阿拉伯语开始,它将语言设置存储在cookie中.如果您尝试直接通过URL(http://www.3andena.com/home.php?sl=en)访问语言版本,则会出现问题并返回服务器错误.

所以,我想将cookie值"store_language"设置为"en",然后使用此cookie值开始废弃网站.

我正在使用带有几个规则的CrawlSpider.

这是代码

from scrapy.spider import BaseSpider
from scrapy.selector import HtmlXPathSelector
from scrapy.contrib.spiders import CrawlSpider, Rule
from scrapy.contrib.linkextractors.sgml import SgmlLinkExtractor
from scrapy import log
from bkam.items import Product
from scrapy.http import Request
import re

class AndenaSpider(CrawlSpider):
  name = "andena"
  domain_name = "3andena.com"
  start_urls = ["http://www.3andena.com/Kettles/?objects_per_page=10"]

  product_urls = []

  rules = (
     # The following rule is for pagination
     Rule(SgmlLinkExtractor(allow=(r'\?page=\d+$'),), follow=True),
     # The following rule is for produt details
     Rule(SgmlLinkExtractor(restrict_xpaths=('//div[contains(@class, "products-dialog")]//table//tr[contains(@class, "product-name-row")]/td'), unique=True), callback='parse_product', follow=True),
     ) …
Run Code Online (Sandbox Code Playgroud)

python scrapy

14
推荐指数
3
解决办法
2万
查看次数

如何在Amazon S3上存储scrapy图像?

我现在已经使用Scrapy大约1周,并且想要将图像存储到亚马逊S3,他们提到他们支持将图像上传到亚马逊S3,但它没有记录.那么有谁知道如何使用Scrapy的Amazon S3?

这是他们用于媒体管道的Scrapy文档.

python amazon-s3 scrapy

12
推荐指数
2
解决办法
5176
查看次数

使用Cordova 5在iOS上出现ERROR白名单拒绝

我已经使用cordova近3年了,并且曾经在config.xml中添加以下行来将所有资源列入白名单.

<access origin="*" />
Run Code Online (Sandbox Code Playgroud)

今天,我升级到了cordova 5,我收到了很多以下错误

ERROR whitelist rejection: url='example.com'
Run Code Online (Sandbox Code Playgroud)

我安装了cordova-plugin-whitelist,并使用以下3行更新了我的config.xml

<access origin="*" />
<allow-intent href="*" />
<allow-navigation href="*" />
Run Code Online (Sandbox Code Playgroud)

并将以下元标记添加到我的index.html两次,一次是间隙,另一次没有它

<meta http-equiv="Content-Security-Policy" content="default-src * data: gap:; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval'">
Run Code Online (Sandbox Code Playgroud)

什么都没发生!仍然在Xcode控制台中获得"ERROR白名单拒绝"!

ios cordova

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

如何在Chrome扩展程序中加载Google Analytics和Facebook SDK?

我正在使用Kango框架开发chrome扩展程序,并且我使用Google Analytics和facebook SDK.我编辑了清单文件以包含follwoign

"content_security_policy": "script-src 'self' https://ssl.google-analytics.com https://connect.facebook.net; object-src 'self'; default-src 'self' 'unsafe-eval' chrome-extension-resource: https://*.facebook.net https://*.facebook.com; style-src 'self' 'unsafe-inline' chrome-extension-resource: https://*.facebook.net https://*.facebook.com; frame-src 'self' 'unsafe-inline' chrome-extension-resource: https://*.facebook.net https://*.facebook.com"
Run Code Online (Sandbox Code Playgroud)

但它不起作用!我收到以下错误

Refused to evaluate a string as JavaScript because 'unsafe-eval' is not an allowed source of script in the following Content Security Policy directive: "script-src 'self' https://ssl.google-analytics.com https://connect.facebook.net".
Run Code Online (Sandbox Code Playgroud)

javascript google-analytics google-chrome-extension facebook-sdk-3.0 kango-framework

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

如何在ActiveAdmin自定义页面上检查cancan权限?

我有以下几点Ability:

can :manage, ActiveAdmin::Page, name: 'My Page'
Run Code Online (Sandbox Code Playgroud)

它工作正常,但我想检查用户是否有能力ActiveAdmin::Page在不同的页面中管理它.所以,当我使用以下内容时:

can? :manage, ActiveAdmin::Page, name: 'My Page'
Run Code Online (Sandbox Code Playgroud)

它返回true任何页面,即使它不存在!

ruby permissions ruby-on-rails activeadmin cancancan

4
推荐指数
2
解决办法
599
查看次数

使用scrapy来抓取asp.net网站的javascript按钮和ajax请求

我一直试图从asp.net网站上抓一些日期,起始页应该是以下一个:http://www.e3050.com/Items.aspx?cat = sSON

首先,我想每页显示50个项目(来自select元素)其次,我想通过页面分页.

我尝试了以下代码,每页50个项目,但没有工作:

start_urls = ["http://www.e3050.com/Items.aspx?cat=SON"]    
def parse(self, response):
        requests = []
        hxs = HtmlXPathSelector(response)

        # Check if there's more than 1 page         
        if len(hxs.select('//span[@id="ctl00_ctl00_ContentPlaceHolder1_ItemListPlaceHolder_lbl_PageSize"]/text()').extract()) > 0:
            # Get last page number
            last_page = hxs.select('//span[@id="ctl00_ctl00_ContentPlaceHolder1_ItemListPlaceHolder_lbl_PageSize"]/text()').extract()[0]
            i = 1

            # preparing requests for each page
            while i < (int(last_page) / 5)  + 1:
                requests.append(Request("http://www.e3050.com/Items.aspx?cat=SON", callback=self.parse_product))
                i +=1 

            # posting form date (50 items and next page button)
            requests.append(FormRequest.from_response(
                    response,
                    formdata={'ctl00$ctl00$ContentPlaceHolder1$ItemListPlaceHolder$pagesddl':'50',
                              '__EVENTTARGET':'ctl00$ctl00$ContentPlaceHolder1$ItemListPlaceHolder$pager1$ctl00$ctl01'},
                    callback=self.parse_product,
                    dont_click=True
                )
            )

            for request …
Run Code Online (Sandbox Code Playgroud)

python postback scrapy web-scraping

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

Scrapy管道中的批处理/批量SQL插入[PostgreSQL]

我使用自己的管道将废弃的项目存储到PostgreSQL数据库中,几天前我进行了扩展,现在将数据存储到3个数据库中.所以,我想让每100个项目调用插入数据的管道,或者它取出项目并将它们插入100×100.

我想让它在数据库服务器上快速而不那么头疼的原因.

python postgresql multiple-insert scrapy

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