利用python监控去哪儿网机票价格

# -*- coding: utf-8 -*-
import xml.etree.ElementTree as etree
import requests
import time
from lxml import etree
from email.mime.text import MIMEText
import smtplib


def ShowDict(d):
    print('=================')
    for v in d:
        print(v, '->', d[v])
def TripDict(d):
    for v in d:
        d[v] = d[v].strip()



# 从网上抓取票价数据,去哪儿网已经整理好放到一个xml文件,直接解析就可以了
def GetPlaneTicketPrice(FromAddr, ToAddr):
    requrl = 'http://ws.qunar.com/holidayService.jcp?lane=%s-%s' % (FromAddr, ToAddr)
    user_agent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36"
    headers = {"User-Agent": user_agent}
    request = requests.get(requrl, headers=headers)
    response = request.text.encode(encoding="utf-8")
    tree = etree.fromstring(response)

    # print(tree)
    # root = tree.getroot()
    root = tree.getiterator()
    print(type(root))



    all_info = []
    for node in root:
        cur_info = {}
        try:
            na = node.attrib
            cur_info = dict(na.items())
            #print na["date"],na['go_avc'],na['go_start'],na['go_expires']
            for child in node:
                ca = child.attrib
                item_1 = dict(cur_info.items() + ca.items())
                # print(item_1)
                item_1['from_addr'] = FromAddr
                item_1['to_addr'] = ToAddr
                item_2 = {}
                for i in item_1:
                    item_2[i.encode('utf-8')] = item_1[i] .encode('utf-8')
                all_info.append(item_2)
                #ShowDict(item_1)
        except:
            pass
    return all_info

#时间转换函数
def GetCurrentDate():
    return time.strftime("%Y
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值