本人(ID:蒸发杰作)小A和我讨论爬虫的合法性,我冷笑,您可以去和大公司谈谈使用我们数据的合法性。
波涛酒店,国内一个挺大的酒店集团。爬取它的数据倒是可以做一些数据分析,甚至可以在地图上可视化一下,也可以用来指导一下合理定酒店什么的。如果你能做到每日更新这些数据的话,甚至还可以去挖掘低价房,优惠券诸如此类。
开始
URL:https://www.plateno.com/
抓包:输入武汉后搜索发现,抓取对应的PYTHON包
请求网址:https://www.plateno.com/api/hotel/searchHotels
请求方法:POST
于浏览器中抓取全部请求头,全部请求data,此网站没有应用Cookies,无妨。
代码
import requests as re
url='https://www.plateno.com/api/hotel/searchHotels'
data={
"checkInDate":"2019-04-09",
"cityCode":"AR02960",
"days":1,
"districtCode":"",
"keyWord":"",
"brands":[],
"starTypes":[],
"bzLat":"",
"bzLng":"",
"loLat":30.593098,
"loLng":114.305392,
"sort":7,
"minPrice":0,
"maxPrice":"1000",
"page":2,
"size":10,
"oversea":'false',
"channelCode":"CA00003",
"webSource":"PC_PLATENO"}
headers=headers={
'Host': 'www.plateno.com',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:66.0) Gecko/20100101 Firefox/66.0',
'Accept': 'application/json, text/plain, */*',
'Accept-Language': 'zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2',
'Accept-Encoding': 'gzip, deflate, br',
'Referer': 'https://www.plateno.com/HotelSearch/?checkinDate=2019-04-09&checkoutDate=2019-04-10&cityCode=AR02960&queryWords=&cityName=%E6%AD%A6%E6%B1%89&extend=1,1,0,0,0,0',
'Content-Type': 'application/json;charset=utf-8',
'Content-Length': '299',
'Connection': 'keep-alive',
'Pragma': 'no-cache',
'Cache-Control': 'no-cache'
}
import json
a=re.post(url,data=json.dumps(data),headers=headers)
print(a)
至此酒店抓取完成,需要注意的是data接受的json文件格式,因而import json库对其json化。
应用场景
目前我一没有比赛可以用这个,其他也没有这个需要,就没有去构想应用,有想做这个的人倒是可以联系我。