我正在Qualtrics创建一张包含许多照片的调查,比如1000.我想让每个调查参与者回答,比如6,每张照片的问题。每位参与者将看到5张随机分配的照片。
在研究之前,我假设有一种方法可以上传1000张照片,在Qualtrics中创建一个块(带有6个问题),然后简单地随机化出现的照片并将其重复5次。
但似乎这不可能或不明显。我打电话给Qualtrics,他们说我手动需要创建1000个块(除了标题和照片之外,每个块都是完全相同的)。然后我需要进入Survey Flow并在那里使用Randomizer并手动添加所有1000个块并让它随机呈现5个元素。
我真的希望有更好的方法。如果我必须这样做,这将花费大量时间。
如果没有,有什么方法可以自动化吗?
答案 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/ ...
之类的东西开头然后将结果复制到电子表格程序中,您就可以复制并粘贴了。