上回说到已经获取了全部的相关房源的基本信息和展示图片,后面师兄又提了一个想要了解上海部分房源在2018年下半年的预订情况的要求。本着送佛送到西的思想,我就应下来一起做了。
思路还是那个思路,只不过这次的房源id已经在第二步中筛选出来,单独存储到一个本地excel中。这里用excel主要是因为数量并不大,估计也就一百来个,也就懒得用数据库去存取了。
关于这个excel的结构呢,也是超简单,第一行是房源id,第一列是日期,后面依次对应该不同房源在该日期下的预订情况。大概呢就长这个样子。
后面的步骤依次是:
1. 观察房源详情页链接构成,根据规则构造链接;
2. 解析网页返回数据,获取当日预定信息;
3. 将判断结果传入excel文件。
具体实施过程见下代码
# -*- coding: utf-8 -*-
import time
import requests
import json
import random
import os
URL = 'https://zh.airbnb.com/api/v2/calendar_months?_format=with_conditions&count=1&key=d306zoyjsyarp7ifhu67rjxn52tv0t20&'
HEADERS = {
'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36'
}
def GetRoomid(path):
id_list = []
room_ids = open(path,encoding = 'utf-8')
for i in room_ids.readlines():
print(eval(i.strip()))
id_list.append