| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- # import requests
- from curl_cffi import requests
- import retrying
- headers = {
- "accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7",
- "accept-language": "zh-CN,zh;q=0.9",
- "cache-control": "no-cache",
- "pragma": "no-cache",
- "priority": "u=0, i",
- "referer": "https://booking.jetstar.com/",
- "sec-ch-ua": "\"Google Chrome\";v=\"135\", \"Not-A.Brand\";v=\"8\", \"Chromium\";v=\"135\"",
- "sec-ch-ua-mobile": "?0",
- "sec-ch-ua-platform": "\"Windows\"",
- "sec-fetch-dest": "document",
- "sec-fetch-mode": "navigate",
- "sec-fetch-site": "same-origin",
- "sec-fetch-user": "?1",
- "upgrade-insecure-requests": "1",
- "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36"
- }
- cookies = {
- "bm_sz": "80764634952076F4EC0668CAE470DF02~YAAQh6InF+vHy7OWAQAAPBkxtBvjipCr2+Be8lQpPuukMutGdZhmvPLcnZxIE0H2SW8teLqWp1Pvw21yJC+5YdaIKtxfxi0OuJ8v+NYVJhYGUTIhe0PpH/U5LLuwLSHz3U/e4AhvEklMvEWDUPGyGsBVUktXU8G4WhSk0rur3qSc/ytEzR8U/oP3quyUwtlFgX8liYL6uhvWEY+4yRjnhaJykTIt7Fw+BhWNVvF8jKtn7usSkqm6oi+S3zSEZD8iBZolfvNCsmuZ3lD+PNlG8zH3hSiQAvC5vCPcskk6AONlJP2URQVkirgZzORWdM0+Uit7lyqEmossKcSdxITkS4amRpXnUN97PSG1Lji0j0JrytJAC2PP0VUlqtSgn0k/iTLz2+L498HNB0VpoSrW8lTry8jtixmFJ+c/iUiFWW6jvqZWAG6p01J+v95zmkX3vmkN2aR5p74UHxyBxm/Y4ZRlbgSj34TS+Z6erY/ezT0Xp9coSt7+mf2LntSVpSlxj4ZA54Pn5pN9oaPqtm1/Xz6kkYH43DIKXhoUghwV/YcKUeeF2bowXCWCbGVGkg==~3425331~3687985",
- }
- url = "https://booking.jetstar.com/hk/zh/booking/search-flights"
- @retrying.retry(stop_max_attempt_number=1)
- def req(i):
- params = {
- "s": "true",
- "adults": "1",
- "children": "0",
- "infants": "0",
- "selectedclass1": "economy",
- "currency": "CNY",
- "mon": "true",
- "channel": "DESKTOP",
- "origin1": "PVG",
- "destination1": "NRT",
- "departuredate1": f"2025-05-{i}"
- }
- response = requests.get(url, headers=headers, cookies=cookies, params=params,
- timeout=15,
- verify=False,
- # proxies=proxies
- # allow_redirects=False
- http_version=2
- )
- # print(response.text)
- print(response)
- from lxml import etree
- import json
- html = etree.HTML(response.text)
- data = html.xpath("//script[@id='bundle-data-v2']/text()")[0] if html.xpath(
- "//script[@id='bundle-data-v2']/text()") else '{}'
- json_data = json.loads(data)
- print(json_data)
- for i in range(9, 31):
- req(i)
|