我正在尝试制作一个脚本,从联邦快递网站获取跟踪信息。在
我想如果我只需转到url'https://www.fedex.com/fedextrack/?tracknumbers='并将跟踪号粘贴在它的末尾,它会将我带到包含我所需信息的跟踪页面。在
我试着给URL输入跟踪号,并从响应中解析html。在
这就是我试过的。在
import urllib
url_prefix= 'https://www.fedex.com/fedextrack/?tracknumbers='
tracking_number = '570573906561'
url = url_prefix + tracking_number
sock = urllib.urlopen(url) htmlSource = sock.read()
sock.close()
print htmlSource
此代码输出: http://freetexthost.com/iy1ma2q1fm
我以为我可以搜索输出中的文本并找到交付状态/日期,但它不在这个输出中。在
如果要查看Chrome页面上的交货日期和日期, 所以如果我在Chrome控制台中运行:
^{pr2}$它返回我想要的输出(交货日期)
为什么我的python脚本没有在html输出中打印实际的跟踪数据信息或类?在
我试着搜索这个问题,并尝试了几种不同的解析方式(Mechanize、beautifulsoup、html2text),但所有这些都给了我相同的输出,不包含任何关于货物的实际数据。在
联邦快递的IE站点在另一个站点的IFrame中返回网页。你不能用Iframe跨站点获取信息。因此,请执行以下操作。 可以将以下xml传输到: https://ws.fedex.com:443/web-services
这就是我最后得到的,多亏了@Blender
像许多其他网站一样,没有JavaScript就无法正常工作。它向某个URL发送一个httppost请求,然后URL将跟踪数据作为JSON编码的对象返回。在
您需要使用Python来模拟:
然后处理生成的对象:
^{pr2}$相关问题 更多 >
编程相关推荐