爬蟲07 爬取阿里旅行特價機票

2021-07-22 08:06:28 字數 2391 閱讀 1866

通過填寫出發地和到達地以及出發日期前後多少天,我們得到**變化

發現depcity=由&變成了sha,arrcity=由&變成bjs

depdate=2016-09-04&range=0也會隨著時間選擇而改變

由此得到選擇地點和時間的初步想法

通過抓包看到乙個很棒的檔名cheap_light

看到它有個get申請

請求**是

開啟後發現是json檔案,接下去要爬取的目標就是它

對它進行分析 發現從flights開始為我們需要的

"flights":[{"depcode":"sha","depname":"\u4e0a\u6d77","arrcode":"bjs","arrname":"\u5317\u4eac","price":419,"depdate":"2016-09-04","week":6,"discount":3.4,"pricedesc":"\u5143"

從而得到出發地,目標地,**,折扣,出發時間

用json.load庫匹配並放入字典

接下去就是**工作了

# -*- coding: utf-8 -*-

import datetime

import json

import urllib

import re

import sys

reload(sys)

sys.setdefaultencoding('utf-8')

def

getinfo(startdate, enddate,startplace,endplace):

url = '' \

'routes=%s-%s&_ksts=1472727272319_680&callback=jsonp681&ruleid=4&flag=1' % (startdate, enddate,startplace,endplace)

flight_html = urllib.urlopen(url).read()

pattern = r'\(\s+(.+)\)'

re_rule = re.compile(pattern)

json_data = re.findall(pattern, flight_html)[0]

flight_json = json.loads(json_data)

flights = flight_json['data']['flights']

return flights

def

trip(flight):

for f in flight:

depname = '%s - ' % f['depname']

arrname = '%s\t' % f['arrname']

price = '\t

**:%s%s(

折扣:%s)\t' % ((f['price']), f['pricedesc'], f['discount'])

departdate = '\t

日期:%s' % f['depdate']

print depname + arrname + price + departdate

today = datetime.date.today()

delay = int(raw_input('

輸入數字

(最多查詢到

45天後) 要查詢幾天內的機票

\n '))

enddate = today + datetime.timedelta(delay)

print enddate

endstr = str(enddate)

print

'航班日期

'+str(today) + ' to ' + endstr +'\n'

print

'城市簡稱查詢辦法進入阿里旅行輸入地點後檢視**中

depcity= arrcity= \n'

startplac=raw_input('

請輸入出發地城市大寫英文簡稱eg:

sha \n')

endplac=raw_input('

請輸入目的地城市大寫英文簡稱eg:

sha \n ')

flights = getinfo(today,

enddate=endstr,

startplace=startplac,

endplace=endplac)

print

'***************===

以下為航班資訊

***************==='

trip(flights)

print

'***************=

機票資訊已顯示完畢

***************=\n'

爬蟲爬取bilibili

1.根據url傳送請求給伺服器,獲取html文字 2.解析html文字,把需要的資料挑出來 3.從html中解析出超連結,繼續爬取其中的頁面 爬蟲的協議b站的爬蟲協議 尾巴加上 robots.txt 獲取相應的api 控制抓取的頻率 import requests url 發起網路請求 respon...

Python 爬蟲爬取網頁

工具 python 2.7 import urllib import urllib2 defgetpage url 爬去網頁的方法 request urllib.request url 訪問網頁 reponse urllib2.urlopen request 返回網頁 return response...

爬蟲之小說爬取

以筆趣閣 為例,爬取一念永恆這本 具體 如下 1 from bs4 import beautifulsoup 2from urllib import request 3import requests 4importre5 import sys6 def down this chapter chapt...