python - 自动更改我从中提取的网站
问题描述
我的 Python 程序正在从子进程内部的网站中提取。这工作正常。
url = 'https://www.website.com/us/{0}/recent/kvc-4020_120/'.format(zipCode)
但是,根据邮政编码的网站,可能有多个页面的结果。当这种情况发生时,它以以下格式发生:
https://www.website.com/us/ZIPCODE/recent/kvc-4020_120?sortId=2&offset=48
在这种情况下,?sortId=2&offset=保持不变。我的问题是 - 如何自动更改 URL,就好像我手动单击以转到下一页一样?唯一改变的是偏移量。每页增加 24 个。例子:
第 1 页,/recent/kvc-4020_120
第 2 页,/recent/kvc-4020_120?sortId=2&offset=24
第 3 页,/recent/kvc-4020_120?sortId=2&offset=48
等等等等
这最多只能达到 150 页。我只是不确定如何考虑第 1 页 URL 与第 1 页之后的任何内容。
从网站拉出后,我写入一个 txt 文件。我想自动检查是否有下一页,如果有,请更改 URL 并重复该过程。如果没有下一页,请转到下一个邮政编码。
解决方案
答for loop
:
for i in ['/recent/kvc-'+str(y)+'_120'
if x == 0 else '/recent/kvc-'+str(y)+'_120?sortid=2&offset=' + str(x)
for x in range(0, 48, 24) for y in range(4000,5000)]:
your_function('web_prefix' + i)
在哪里:
range(0, 48, 24) # increment to 48 by 24 (just an example)
range(4000, 5000) # Assumed range of Postcodes
推荐阅读
- android - 如何在英语应用程序中管理 RTL 语言电话
- node.js - UnauthorizedError:无效算法 - Node.js express-jwt
- sql - 如何找到一年多一天订单超过 1 笔的客户
- asp.net - 创建表时出错:指定 ON DELETE NO ACTION 或 ON UPDATE NO ACTION,或修改其他 FOREIGN KEY 约束
- node.js - URL 解析 NodeJS 已弃用
- javascript - 在 JavaScript 中将圆转换为折线
- python - 如何在两个 forloops 中获取 forloop.counter
- docker - docker-compose 启动单个容器
- python - 将特定公式应用于熊猫数据框
- html - 如何在高度为 100Vh 的页面上添加 100vh 的标题图像?