python - 使用 Python 更改 URL 中的查询

标签 python python-2.7 url

我需要更新 URL 的查询部分 (page_index=)。我尝试了如下所示的几种方法,但遇到了困难。我是 python 新手,正在寻求指导。页面索引范围为 0 - 511(每天添加新内容),我需要更新 url 以循环访问所有索引。索引始终从 0 开始。

import urlparse

url = 'https://api.appannie.com/v1.2/apps/ios/app/331177714/reviews?
start_date=2016-1-01&end_date=2017-8-26&page_index=0&countries=US'
parts = urlparse.urlparse(url)
parts = parts._replace(query = page_index [2])
parts.geturl()

我收到错误:

TypeError Traceback (most recent call last)
<ipython-input-29-066332f37bb3> in <module>()
  3 url = 'https://api.appannie.com/v1.2/apps/ios/app/331177714/reviews?start_date=2016-1-01&end_date=2017-8-26&page_index=0&countries=US'
  4 parts = urlparse.urlparse(url)
----> 5 parts = parts._replace(query = page_index [2])
  6 parts.geturl()
  7
TypeError: 'function' object has no attribute '__getitem__'

最佳答案

你必须取出 urlparse() 结果的 query 部分并修改它,然后重建一个新的 URL,如下所示:

pr = urlparse.urlparse(url)
parts = pr.query.split('&')
parts[2] = 'page_index=2'
new_url = urlparse.urlunparse([pr.scheme, pr.netloc, pr.path, pr.params, "&".join(parts), pr.fragment])

要遍历所有页码,请循环遍历最后两行以获得所需的页码范围。

关于python - 使用 Python 更改 URL 中的查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45000379/

相关文章:

java - 如何在.property文件中保存参数值?

python - 无法将 Flask 部署到 Azure

python - Python 重复数据删除 - "Records do not line up with data model"

python - 如何在 Python 中使用 pl196x 从 nltk for Polish 中提取引理?

python - 在Python中使用正则表达式检测特定字符串

java - 使用 Java 获取 Internet 文件并将其创建为 File 对象?

php - 从 HTML 表单调用 PHP API?

python - 如何将列表转换为多行字符串?

python - json.load 在加载带有拉丁字符的文件时出错

python - 如何解决 Python 的 'Pyzbar' 库的导入错误?