我针对 RESTful API(我正在使用 python/urllib2/pandas)触发 3 个单独的查询,每个查询包含以下字符串变体之一:
(1) 'Caveolin-1 suppresses Human Immunodeficiency Virus-1 replication by inhibiting acetylation of NF-\xce\xbaB'
(2) 'Caveolin-1 suppresses Human Immunodeficiency virus-1 replication by inhibiting acetylation of NF-κB'
(3) 'Caveolin-1 suppresses Human Immunodeficiency virus-1 replication by inhibiting acetylation of NF
结果是:
(1) 不返回任何结果(从 python 以编程方式完成时)
(2) 工作并返回预期结果 - 匹配记录(使用 Chrome 插件手动触发查询以进行 RESTful API 调用,并将字符串按原样粘贴到 API 调用的适当部分)
(3) 工作原理与 (2) 相同
由于我有源数据并且正在通过从数据帧中读取字符串以编程方式从 python 执行 (1),有没有什么方法可以用我的源数据中的 unicode 字符做某事(不知道是什么)(我猜那是什么) \xbaB' 等)使它们可以传递给 API?'\xce\xbaB' 似乎是基于上述内容的 'κB' 的编码。
或者这就是我将不得不查看 API 文档的东西(对于这一点,我认为不存在......)。
如果这很难/更容易 - 在传递查询之前从字符串中删除任何 unicode 字符的最佳方法是什么(即回退到(3))?
提前致谢!
REF:从python我正在执行以下API附带
api_call = 'http://some_api/index:ABCDE?query=title(' + str(title_string) + ')' headers = {'APIKey': API_key, 'accept':'text/xml, application/atom+xml'}
request = urllib2.Request(api_call, headers = headers, )
response = urllib2.urlopen(request,'' , 30)
return response.read()