我使用shell脚本获取FedEx包的跟踪信息。当我执行脚本时,我传入跟踪号码(我在互联网上找到的虚拟号码),然后使用curl:
#$1=797843158299
curl -A Mozilla/5.0 -b cookies -s "https://www.fedex.com/fedextrack/WTRK/index.html?action=track&action=track&action=track&tracknumbers=$1=1490" > log.txt
curl命令的输出是HTML代码,我需要的信息在标记行之间:
<!--TRACKING CONTENT MAIN-->
<div id="container" class="tracking_main_container"></div>
在我需要解析交货信息的部分内 我对脚本很新,并尝试了一些&#34; | SED&#34;我在网上找到的建议,但无法正常工作。
答案 0 :(得分:1)
curl
或wget
无法做到这一点,因为渲染最终页面是使用javascript创建的。可以在spynner或python或phantomjs
这是一个完整的工作示例,用于检查状态是否已交付:
#!/usr/bin/python
useragent = "Mozilla/5.0 (X11; Linux x86_64; rv:7.0.1) Gecko/20100101 Firefox/7.0.1"
import spynner
from lxml import etree
browser = spynner.Browser(user_agent = useragent)
browser.create_webview(False)
browser.load("https://www.fedex.com/fedextrack/WTRK/index.html?action=track&action=track&action=track&tracknumbers=797843158299")
browser.wait_load()
reddit = etree.HTML(browser.html)
try:
print reddit.xpath('//div[@class="statusChevron_key_status bogus"]')[0].text
except:
print "Undelivered"
Delivered