python - 请求变量作为字典?

标签 python python-2.7 scrapy

我最喜欢的功能之一 requests是我可以将查询参数指定为字典:

r = requests.get('https://example.com/posts', params={
    'count': '12',
    'start': '56',
    'order': 'new'
})

我目前正在 Scrapy 中构建一个网络抓取工具。有没有办法指定查询参数的字典,而不是将所有内容硬编码到 url 中?

我目前被迫做这样的事情:

scrapy.Request('https://example.com/posts?count=%d&start=%d&order=%s' %
    (12, 56, 'new',))

有没有一种方法可以做我想要的事情,类似于上面的请求的方式?

最佳答案

from urllib import urlencode
params = {
    'count': '12',
    'start': '56',
    'order': 'new'
}
paramstr = urlencode(params) # 'count=12&start=56&order=new'
scrapy.Request('https://example.com/posts?' + paramstr)

关于python - 请求变量作为字典?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31617915/

相关文章:

Python 在没有装饰器的情况下使用坚韧重试

python - 如何使用 Selenium 抓取动态内容?

mongodb - pymongo.errors.ConnectionFailure : timed out from an ubuntu ec2 instance running scrapyd

Python 将整数快速转换为特定长度的位数

javascript - 错误 : spawn EACCES in ubuntu for node. js/express 应用程序尝试运行 python

python - 如何打印 EXCEL 格式的报告 (XLS)

python - 在Python中的图节点对象的字典中添加新键时出错

python - 将张量保存为 JPEG 图像 - Python/TensorFlow

Python super 使用示例

python - 使用scrapy/python通过网络爬虫提取联系信息