亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Python > 正文

python實現的一個火車票轉讓信息采集器

2020-02-23 05:32:20
字體:
來源:轉載
供稿:網友

好吧,我承認我是對晚上看到一張合適的票轉讓但打過電話去說已經被搞走了這件事情感到蛋疼。直接上文件吧。

#coding: utf-8'''春運查詢火車票轉讓信息Author: piglei2007@gmail.comDate: 2011.01.25'''import reimport osimport timeimport urlparseimport datetimeimport tracebackimport urllib2import socketsocket.setdefaulttimeout(20)BLANK_RE = re.compile(r"/s+")opener = urllib2.build_opener(urllib2.HTTPCookieProcessor())opener.addheaders = [  ("User-agent", "Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.9.1) Gecko/20090704 Firefox/3.5"),  ("Accept", "*/*"),]urllib2.install_opener(opener)from BeautifulSoup import BeautifulSoupSOURCE = {  "58": "http://bj.58.com/huochepiao/?Num=%(train)s&StartTime=%(date)s00",  "ganji": "http://bj.ganji.com/piao/cc_%(train)s/%(date)s/",}RECORD_FILE = "/tmp/ticket_records.txt"def parse_record():  try:    return set([x.strip() for x in open(RECORD_FILE, "r").readlines()])  except IOError:    open(RECORD_FILE, "w")    return set()def flush_record(records):  open(RECORD_FILE, "w").write("/n".join(records))def main(config):  """  開始抓取  """  existed = parse_record()  to_email = []  for train in config["trains"]:    for date in config["dates"]:      for type, _url in SOURCE.items():        url = _url % dict(train=train, date=date)        content = urllib2.urlopen(url).read()        soup = BeautifulSoup(content)        result = parse_content(type, soup, train)        for url, text in result:          url = urlparse.urljoin(_url, url)          # 只要臥鋪!          if url not in existed and u"臥" in text:            to_email.append([text, url])          existed.add(url)  if to_email:    content = "".join(      [x for x in [" | ".join(y) for y in to_email]]    ).encode("utf-8")    simple_mail(config["people"], content)  flush_record(existed)def parse_content(type, soup, train):  """  獲得車次信息  """  result = []  if type == "58":    info_table = soup.find("table", id="infolist")    if info_table:      for x in info_table.findAll("tr", text=re.compile(ur"%s(?!時刻表)" % train, re.I)):        a = x.parent        _text = BLANK_RE.sub("", a.text)        result.append([a["href"], _text])  if type == "ganji":    for x in soup.findAll("dl", {"class": "list_piao"}):      a = x.dt.a      result.append([a["href"], a.text])  return resultEMAIL_HOST = 'smtp.sohu.com'EMAIL_HOST_USER = 'yourname@sohu.com'EMAIL_HOST_PASSWORD = 'yourpassword'EMAIL_PORT = 25def simple_mail(to, content):  """  發送郵件  """  import smtplib  from email.mime.text import MIMEText  msgRoot = MIMEText(content, 'html', 'UTF-8')  msgRoot['Subject'] = "[%s]有票來啦!?。?!" % datetime.datetime.today().isoformat(" ")  msgRoot['From'] = EMAIL_HOST_USER  msgRoot['To'] = ", ".join(to)  s = smtplib.SMTP(EMAIL_HOST, EMAIL_PORT)  s.login(EMAIL_HOST_USER, EMAIL_HOST_PASSWORD)  s.sendmail(EMAIL_HOST_USER, to, msgRoot.as_string())  s.close()def switch_time_zone():  """  切換時區  """  os.environ["TZ"] = "Asia/Shanghai"  time.tzset()switch_time_zone()if __name__ == '__main__':  config = {    "trains": ("k471",),    "dates": ("20110129",),    "people": (      "youremail@sohu.com",    )  }  try:    main(config)    print "%s: ok" % datetime.datetime.today()  except Exception, e:    print traceback.format_exc()            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91精品国产成人| 日韩精品免费在线视频观看| 91亚洲永久免费精品| 久久国产精品久久久久久久久久| 国产精品99久久久久久白浆小说| 中文字幕少妇一区二区三区| 亚洲乱码一区二区| 亚洲片国产一区一级在线观看| 国产精品av网站| 久久精品国产清自在天天线| 日韩视频免费在线| 亚洲另类激情图| 欧洲亚洲免费视频| 精品国内自产拍在线观看| 精品无人区太爽高潮在线播放| 永久555www成人免费| 91亚洲精品久久久久久久久久久久| 亚洲欧美色图片| 国产一区二区三区免费视频| 成人444kkkk在线观看| 欧美激情视频一区二区| 久久久精品视频在线观看| 91久久久久久久久久久久久| 国内精品久久影院| 91久久精品国产91久久性色| 免费成人高清视频| 午夜免费久久久久| 欧美一级片在线播放| 中文字幕在线亚洲| 九九热这里只有精品6| 日本精品久久久久久久| 国产精品久久中文| 亚洲欧美精品中文字幕在线| 成人欧美一区二区三区黑人| 热久久视久久精品18亚洲精品| 亚洲欧美一区二区三区情侣bbw| 日韩久久午夜影院| 欧美日韩国产一区中文午夜| 亚洲免费视频一区二区| 亚洲国产欧美精品| 久久久午夜视频| 久久久国产成人精品| 亚洲福利视频专区| 黑人与娇小精品av专区| 中文字幕精品影院| 日韩中文字幕在线观看| 欧美高跟鞋交xxxxhd| 色偷偷亚洲男人天堂| 亚洲精品视频播放| 欧美大片欧美激情性色a∨久久| 日韩精品在线观看视频| 久久黄色av网站| 欧美日韩激情视频8区| 日韩乱码在线视频| 亚洲一区二区久久久| 黑人巨大精品欧美一区二区| 午夜精品一区二区三区在线| 欧美高清视频一区二区| 久久精品国产一区二区三区| 97avcom| 日韩免费看的电影电视剧大全| 91爱视频在线| 91精品国产综合久久男男| 午夜精品99久久免费| 91亚洲国产成人精品性色| 欧美老肥婆性猛交视频| 日韩中文字幕亚洲| 国产成人精品在线播放| 国内精品久久久久影院 日本资源| 久久精品99国产精品酒店日本| 91精品国产综合久久久久久久久| 91精品国产综合久久香蕉922| 欧美理论电影在线观看| 欧美裸身视频免费观看| 欧美激情在线观看视频| 欧美午夜性色大片在线观看| 国产精品99久久久久久久久| 久操成人在线视频| 亚洲国产99精品国自产| 亚洲无亚洲人成网站77777| 国产精品日韩在线观看| 国产美女精品视频| 日韩一级黄色av| 亚洲欧美激情四射在线日| 日韩av影片在线观看| 亚洲天堂视频在线观看| 精品国产自在精品国产浪潮| 国产精品流白浆视频| 国产在线视频不卡| 亚洲人av在线影院| 国产精品高清免费在线观看| 91精品国产沙发| 亚洲国产精品va在线看黑人| 91精品久久久久久久久中文字幕| 一区二区在线免费视频| 亚洲成人av中文字幕| 久久综合久久88| 中文日韩电影网站| 51色欧美片视频在线观看| 亚洲一区二区三区在线视频| 欧美亚洲成人网| 国产精品第2页| 国产精品欧美日韩一区二区| 亚洲加勒比久久88色综合| 欧美人成在线视频| 成人h猎奇视频网站| 久久精品一本久久99精品| 91欧美激情另类亚洲| 久久久av亚洲男天堂| 亚洲第一级黄色片| 欧美极品美女视频网站在线观看免费| 日韩av大片在线| 九九久久久久久久久激情| 精品日本美女福利在线观看| 中文字幕亚洲欧美日韩2019| 91精品国产色综合| 色综合久久天天综线观看| 国产视频精品一区二区三区| 成人国内精品久久久久一区| 久热爱精品视频线路一| 夜夜躁日日躁狠狠久久88av| 国产成人在线一区二区| 国产精品毛片a∨一区二区三区|国| 欧美一区二区三区精品电影| 45www国产精品网站| 91亚洲精品在线观看| 日韩电视剧在线观看免费网站| 亚洲高清一区二| 欧美野外wwwxxx| 国产精品国内视频| 欧美一级高清免费播放| 久久99热精品这里久久精品| 中文字幕欧美精品在线| 欧美日韩免费网站| 国产一区二区三区三区在线观看| 亚洲国产精品一区二区久| 亚洲片av在线| 精品亚洲精品福利线在观看| 亚洲视频在线看| 在线性视频日韩欧美| 国产成人精品亚洲精品| 久久精品视频免费播放| 国产欧美日韩免费看aⅴ视频| 丝袜情趣国产精品| 亚洲国产精品网站| 国产成人精彩在线视频九色| 亚洲欧洲在线免费| 最近2019年中文视频免费在线观看| 久久久久久有精品国产| 精品福利在线观看| 国产精品国产自产拍高清av水多| 精品国产鲁一鲁一区二区张丽| 国产精品久久激情| 久久99热精品这里久久精品| 亚洲男人天天操| 亚洲精品成人久久| 国产不卡视频在线| 国产噜噜噜噜久久久久久久久| 午夜精品视频在线| 久久人人爽亚洲精品天堂| 97久久精品人搡人人玩| 亚洲国产成人精品久久| 亚洲欧洲日产国产网站| 亚洲精品视频网上网址在线观看|