我有一台运行多个虚拟机的服务器。我正在使用 Jira 安装启动一个容器,我需要为容器分配与 DHCP 不同的地址,而不是使用主机 IP 地址。我是菜鸟所以请解释一下
我需要从页面中提取所有游轮。我发现我需要提出2个请求。一个用于获取总结果 + 参考个别邮轮,另一个用于邮轮本身。至此我已经成功提出请求并得到了JSON
。问题是该请求仅返回第一页中包含的引用。最初我用的是这个:
https://www.pocruises.com.au/sc_ignore/b2c/cruiseresults/searchresults
Run Code Online (Sandbox Code Playgroud)
作为POST
请求 URL。我是请求中的一些标头:
Host: www.pocruises.com.au
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0
Accept: application/json, text/plain, */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Referer: https://www.pocruises.com.au/cruises/search
Content-Type: application/json;charset=utf-8
Content-Length: 613
Cookie: ASP.NET_SessionId=zm50ahxa4uoiwcuowgkeizcn; SC_ANALYTICS_GLOBAL_COOKIE=f459da6904ee4cea8a809455f37b09c5|False; optimizelyEndUserId=oeu1480435687102r0.9194470051495017; optimizelySegments=%7B%223906442756%22%3A%22none%22%2C%223911484226%22%3A%22ff%22%2C%223917223299%22%3A%22direct%22%2C%223920524266%22%3A%22false%22%2C%224924982297%22%3A%22true%22%7D; optimizelyBuckets=%7B%227883701652%22%3A%227867701359%22%7D; _ga=GA1.3.1128287966.1480435688; AdBlockDetected=false; _msuuid_29439mm27589=D0670AB5-C96A-4706-A563-9F29FCA3D9D2; gwcc=%7B%22fallback%22%3A%221300159454%22%2C%22clabel%22%3A%22ykseCIGywFkQhoDuxQM%22%2C%22backoff%22%3A86400%2C%22backoff_expires%22%3A1480522087%7D; gaFindACruise=; _gat=1; optimizelyPendingLogEvents=%5B%22n%3Dengagement%26u%3Doeu1480435687102r0.9194470051495017%26wxhr%3Dtrue%26time%3D1480437791.708%26f%3D7274530066%2C7883701652%26g%3D3909534788%22%5D
Connection: keep-alive
Run Code Online (Sandbox Code Playgroud)
到目前为止,如果不计算我返回的仅有 6 个结果,它仍然有效。在这篇文章发表时他们一定已经 106 岁了。响应包含包含总计数(正确)和页码、总页数等的元数据。然后我看到了这个:
Firefox Screenshot
这Request body
包含了我在所有页面中导航所需的一切。这是我到目前为止的全部代码:
import requests
url = "https://www.pocruises.com.au/sc_ignore/b2c/cruiseresults/searchresults"
session = requests.session()
data = {"searchParameters": {"p": [], "c": [], "d": [], "s": …
Run Code Online (Sandbox Code Playgroud)