【发布时间】:2016-07-20 08:53:28
【问题描述】:
我正在尝试调用 import.io API。 此调用需要具有以下结构:
'https://extraction.import.io/query/extractor/{{crawler_id}}?_apikey=xxx&url=http://www.example.co.uk/items.php?sortby=Price_LH&per_page=96&size=1%2C12&page=35'
您可以在该调用中看到,参数“url”也必须包含:
http://www.example.co.uk/items.php?sortby=Price_LH&per_page=96&size=1%2C12&page=35
恰好这个辅助 URL 也需要参数。但是如果我像上面的例子一样将它作为普通字符串传递,当我得到 API 响应时,API 响应只包含第一个参数之前的部分:
这是不正确的,它似乎会使用不完整的 URL 而不是我传入的 URL 进行调用。
我正在使用 Python 并请求通过以下方式进行调用:
import requests
import json
row_dict = {'url': u'http://www.example.co.uk/items.php?sortby=Price_LH&per_page=96&size=1%2C12&page=35', 'crawler_id': u'zzz'}
url_call = 'https://extraction.import.io/query/extractor/{0}?_apikey={1}&url={2}'.format(row_dict['crawler_id'], auth_key, row_dict['url'])
r = requests.get(url_call)
rr = json.loads(r.content)
当我打印结果时:
"url" : "http://www.example.co.uk/items.php?sortby=Price_LH",
但是当我打印 r.url:
https://extraction.import.io/query/extractor/zzz?_apikey=xxx&url=http://www.example.co.uk/items.php?sortby=Price_LH&per_page=96&size=1%2C12&page=35
所以在 URL 中似乎一切都很好,但在响应中却没有。
我在其他 URL 上试过这个,在第一个参数之后都被删掉了。
【问题讨论】:
-
似乎
import.io的 api 接受了其余的参数。
标签: python python-requests import.io