我需要更新 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/