我有100套BOL需要在下面的网站上搜索。但是,我找不到要自动替换并继续搜索的url。有人能帮上忙吗?
跟踪代码: MSCUZH129687 MSCUJZ365758
我正在处理的页面:https://www.msc.com/track-a-shipment
import requests
url = 'https://www.msc.com/track-a-shipment'
HEADERS = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3346.9 Safari/537.36',
'Referer': 'https://www.msc.com/track-a-shipment'
}
form_data = {'first': 'true',
'pn': '1',
'kd': 'python'}
def getJobs():
res = requests.post(url=url, headers=HEADERS, data=form_data)
result = res.json()
jobs = result['Location']['Description']['responsiveTd']
print(type(jobs))
for job in jobs:
print(job)
getJobs()发布于 2019-08-01 04:23:53
tldr:您可能需要使用selenium这样的无头浏览器才能转到页面,输入代码并单击搜索按钮。
要检索的url由单击搜索时运行的javascript生成。
搜索按钮将链接发布到他们的服务器,这样当它将你重定向到链接时,服务器就会知道给你什么响应。
为了自动生成链接,您必须分析javascript并了解它是如何生成代码的,以便自己生成代码,将代码发布到服务器,然后发出后续的get请求以检索结果,就像asp.net框架所做的那样。
或者,您也可以使用selenium这样的无头浏览器转到页面,输入代码并单击搜索按钮。在headless浏览器导航到结果之后,您可以从那里解析结果。
https://stackoverflow.com/questions/49818702
复制相似问题