使用照片或图形以及循环和合并在Qualtrics中进行随机化

时间:2014-05-22 15:56:28

标签: random graphics photo survey qualtrics

我正在Qualtrics创建一张包含许多照片的调查,比如1​​000.我想让每个调查参与者回答,比如6,每张照片的问题。每位参与者将看到5张随机分配的照片。

在研究之前,我假设有一种方法可以上传1000张照片,在Qualtrics中创建一个块(带有6个问题),然后简单地随机化出现的照片并将其重复5次。

但似乎这不可能或不明显。我打电话给Qualtrics,他们说我手动需要创建1000个块(除了标题和照片之外,每个块都是完全相同的)。然后我需要进入Survey Flow并在那里使用Randomizer并手动添加所有1000个块并让它随机呈现5个元素。

我真的希望有更好的方法。如果我必须这样做,这将花费大量时间。

如果没有,有什么方法可以自动化吗?

  1. 创建新块并自动填充照片。我知道python并且可能会编写一个脚本来生成块,但是照片名称会从原始名称更改为Qualtrics生成的一些复杂代码。
  2. 将照片一次性加载到Qualtrics中(目前需要一张照片一次加载一张照片)。

1 个答案:

答案 0 :(得分:7)

事实证明,与1000块修复相比,有更快捷的方法。

有很多东西要继续完成它,但它有可能。

首先,需要通过图形库将照片放入Qualtrics。最好的方法是将照片拖放到所需位置。幸运的是,一个人不必一个一个地做这件事。确保它们符合您的要求。

其次,创建一个带有"问题"你想要随机照片出现的地方。这个区块也应该有6个问题。

第三,在与照片对应的URL的电子表格(例如Excel中)中创建列。这应该是有序的。最底层提到了一种方法。

首先,转到此块的循环和合并选项。将URL列复制并粘贴到Field 1中。幸运的是,此选项存在,并且不必逐个执行此操作。旁注是,如果将行中左侧的灰色框中的数字更改,则会更改结果中显示的数字。但是,没有明显的方法可以一次一个接一个地改变这些。

然后你应该全力以赴。

最后,稍微了解如何获取照片的网址。再次确保库中的照片符合您的要求。然后,您可以使用Web抓取来刮取图像名称,然后将其放入正确的URL中。我使用Python的Selenium和BeautifulSoup来实现这一目标。这是我做的,使用mac。代码至少为您提供了这个想法:

from bs4 import BeautifulSoup
import codecs
import os
from selenium import webdriver
import re

chromedriver = "File path to /chromedriver"
os.environ["webdriver.chrome.driver"] = chromedriver
driver = webdriver.Chrome(chromedriver)

*在已显示的Chrome浏览器中,手动导航到照片库页面,然后:

abc = driver.find_elements_by_css_selector(".thumbframe")    
file = codecs.open('outputURLs.txt', 'w', encoding = 'utf-8')
urls = {}
for i in range(0,len(abc)):
    h = abc[i].get_attribute("innerHTML")
    soup = BeautifulSoup(h)
    t = soup.find_all("img", attrs={"p4":re.compile('.*')})
    urls[i] = t[0]['p1']
    file.write("<img src=*Qualtrics Path/Graphic.php?IM=" + urls[i] + "/> + '\n')

人们可以找到适当的第一部分来坚持&#34; Qualtrics Path&#34;通过,例如。转到Qualtrics Survey Editor,使用Rich HTML Editing(或类似的东西)插入照片,插入照片,单击View Source,然后查看要使用的模式文件路径。它可能以https://qualtrics.com/ ...

之类的东西开头

然后将结果复制到电子表格程序中,您就可以复制并粘贴了。