随机化质量使用照片或图形和循环和合并



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

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

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

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

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

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

事实证明,有一种比1000块修复更好更快的方法。

有很多事情要做,但这是可能的。

首先,需要通过图形库将照片放入Qualtrics。最好的方法是简单地将照片拖放到想要的位置。幸运的是,我们不需要一个一个地做这些。请确保它们按你想要的顺序排列。

其次,创建一个带有"question"的块,您希望在其中显示随机照片。这个块也应该包含所有6个问题。

第三,在电子表格中创建一个列(例如:Excel)的url对应的照片。这应该是有序的。下面提到了一种方法。

第四,转到此块的循环和合并选项。将url列复制并粘贴到,比方说,字段1。幸运的是,这个选项是存在的,我们也不需要一个接一个地这样做。旁注是,如果更改行左侧灰色框中的数字,则会更改结果中显示的内容。但是没有明显的方法可以一次一个接一个地改变这些。

那么你应该都准备好了。

最后,稍微讲一下如何获取照片的url。再一次,确保图库中的照片按你想要的顺序排列。然后你可以使用网络抓取抓取图像名称,然后将其放入适当的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')

你可以找到合适的第一部分来坚持"品质路径",例如。转到Qualtrics Survey Editor,使用Rich HTML Editor(或类似的东西)插入照片,插入照片,单击View Source,然后查看要使用的模式文件路径。开头可以是https://qualtrics.com/…

然后将结果复制到电子表格程序中,您应该准备好复制和粘贴。

最新更新