Python爬虫抓取携程网机票信息并发邮件通知

本文记录了使用Python爬虫抓取携程网机票信息的过程,并结合邮件发送程序,设置定时任务每20分钟检查一次上海到西安4.29~05.02的机票价格变动。
摘要由CSDN通过智能技术生成

背景:
由于要买机票,所以一直进行搜索,爬虫可以帮我解决这个问题;

解释的超级详细。
于是通过这一过程,基本了解了一些;

  • 查询 上海 到 西安 4.29~05.02的机票:
#coding:utf-8

import urllib2
from lxml import etree
import json
import random
import sys
reload(sys)
sys.setdefaultencoding('utf8')

def get_json2(date,rk,CK,r):
    '''根据构造出的url获取到航班数据'''
    url= "http://flights.ctrip.com/domesticsearch/search/SearchFirstRouteFlights?DCity1=SHA&ACity1=SIA&SearchType=S&DDate1=%s&IsNearAirportRecommond=0&rk=%s&CK=%s&r=%s"%(date,rk,CK,r)
    headers={
  'Host':"flights.ctrip.com",'User-Agent':"Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0",'Referer':"http://flights.ctrip.com/booking/hrb-sha-day-1.html?ddate1=2017-04-29"}
    headers['Referer']="http://flights.ctrip.com/booking/hrb-sha-day-1.html?ddate1=%s"%date
    req=urllib2.Request(url,headers=headers)
    res=urllib2.urlopen(req)
    content=res.read()
    dict_content=json.loads(content,encoding="gb2312")
    length = len(dict_content['fis']) 
    # print length
    i = 0
    for i in range(length):
        if ((dict_content['fis'][i][u'lp']) < 600 ):
            print (dict_content['fis'][i][u'lp']),
            print (dict_content['fis'][i][u'dt']),
            print (dict_content['fis'][i][u'at']) 
            #print (dict_content['fis'][i][u'dpbn'])  


def</
Python爬虫是一种可以自动化获取互联网上信息的工具,而携程是一个广受欢迎的在线旅游平台。所以,用Python爬虫爬取携程酒店信息是一种常见的应用。 要使用Python爬虫携程酒店,首先需要选择一个合适的爬虫框架,比如Scrapy。接下来,需要了解携程网页的结构和请求方式。 爬虫的第一步是发送一个HTTP请求到携程酒店的网页,可以使用Python的请求库(例如requests)来实现。然后,爬虫会接收到服务器返回的HTML网页源代码。 接下来的一步是解析HTML源代码,提取出我们需要的酒店信息。可以使用Python的解析库(例如BeautifulSoup)来帮助我们解析和提取数据。通过查找网页源代码中的特定标签、类名或id,我们可以找到酒店名称、价格、评分等信息,并将这些数据保存到一个文件或数据库中。 在爬取携程酒店信息时,我们可能需要翻页来获取更多的酒店信息。可以使用Python的循环和条件语句来实现翻页功能。通过构建新的请求,我们可以获取下一页的数据,并将其添加到之前已获取的数据中。 当我们完成了爬取和保存数据的步骤后,还可以对数据进行进一步的分析和处理。比如,可以使用Python的数据分析库(例如pandas)来对数据进行清洗、处理和可视化。 需要注意的是,在使用Python爬取携程酒店信息时,应该尊重网站的爬取规则并遵守相关法律法规。合理设置爬虫的请求频率和并发数,避免对携程网站造成过大的负担。爬虫应该在本地进行,且不应该滥用或妨碍正常用户的浏览体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值