zoukankan      html  css  js  c++  java
  • 中秋节出门游玩住宿找不到,酒店信息掌握不准?爬虫帮你解决

    采集数据目标

    网址:美团酒店
    image.png

    效果展示

    image.png

    就6不6,觉得可以的请给我点个赞叭~谢谢阅读的每一位大佬❤

    工具使用

    开发工具:pycharm
    开发环境:python3.7, Windows10
    使用工具包:requests

    项目思路解析

    首先选取自己想去旅游的景点,获取景点附近的数据,就比方说白又白中秋国庆打算去长沙游玩获取的就是长沙的住宿酒店(要长沙游玩的可以滴滴白又白)
    image.png

    获取到数据后确定数据的加载是静态数据还是动态数据,当前网页数据为动态加载动态数据需要通过抓包的方式获取,打开调试工具获取到数据
    image.png
    确定好数据后就可以进入代码环节了,对网址发送网络请求

    url = 'https://ihotel.meituan.com/hbsearch/HotelSearch?utm_medium=pc&version_name=999.9&cateId=20&attr_28=129&uuid=73B01E7C1051ACFB5730B1C1CD456776945CB50F887E09211F020EB1F6C89996%401631623416857&cityId=198&offset={}&limit=20&startDay=20210914&endDay=20210914&q=&sort=defaults&X-FOR-WITH=4ArIbixslGNtC2oCAtBb2cXDcp3jPZ5xX01C1%2FuNnCXQqh0Edqc3Dkag7qJcicwPAPLY%2FljJLm6wQMNIxLvp9b%2BYD0zfZCkSVgXL0zJuhuGKUZIaSNcfRtkjSISQqvXCOBdIJU9o2Kiz1YxsEqKX%2BlSNhmge6otjb%2B%2FQSr5lMWEicjgDCcQNg0jLrkAO1WXcFHMYZO40i6QdyAWbmxLV6TnJetfiLBxM0oQEvvcnOyA%3D'.format(i * 20)
            headers = {
                'Host': 'ihotel.meituan.com',
                'Origin': 'https://hotel.meituan.com',
                'Referer': 'https://hotel.meituan.com/',
                'Cookie': 'uuid=3c6a1ffa63c44f609095.1631265937.1.0.0; _lxsdk_cuid=178d04766dac8-08045ec98b749f-3f356b-1fa400-178d04766dbc8; mtcdn=K; IJSESSIONID=node01wdulauewgz8610kyb50ik2ee51588346; iuuid=73B01E7C1051ACFB5730B1C1CD456776945CB50F887E09211F020EB1F6C89996; _lxsdk=73B01E7C1051ACFB5730B1C1CD456776945CB50F887E09211F020EB1F6C89996; backurl=http://i.meituan.com/awp/h5/hotel/list/list.html?cityId=96&accommodationType=1&checkIn=2021-09-14&checkOut=2021-09-15; i_extend=Gempty; ci=1; rvct=1%2C96; cityname=%E5%8C%97%E4%BA%AC; _lx_utm=utm_source%3DBaidu%26utm_medium%3Dorganic; _lxsdk_s=17be4558492-2b-59d-9d2%7C%7C2',
                'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36'
            }
            response = requests.get(url, headers=headers)
            print(response.text)
    
    

    记得带上对应数据请求头获取到json数据

    从数据中选取自己想要的数据参数

    # 提取想要的数据
                item = {}
                item['historySaleCount'] = data['historySaleCount']
                item['cityName'] = data['cityName']
                item['areaName'] = data['areaName']
                item['name'] = data['name']
                item['scoreIntro'] = data['scoreIntro']
                # item['positionDescList'] = [i['text'] for i in data['forward'].get('positionDescList', "没有")]
                item['poiTagList'] = [i['text'] for i in data['poiTagList']]
                print(item)
    
    

    提取的数据由各位大佬自己决定
    最后将数据保存在csv表格里

    就完成啦,你想去哪里玩呢?但是不管去哪里记得勤洗手,戴口罩呀!

    我是白又白i,一名喜欢分享知识的程序媛❤️
    如果没有接触过编程这块的朋友看到这篇博客,发现不会编程或者想要学习的,可以直接留言+私我呀~【非常感谢你的点赞、收藏、关注、评论,一键三连支持】

    每日分享,喜欢的看标题和多多点赞收藏加关注~~蟹蟹
  • 相关阅读:
    (转)Python格式化字符 %s %d %f
    (转) Linux Shell经典实例解析
    (转)用shell脚本实现杨辉三角的4个实例!
    (转)[Shell]tr命令详解
    (转)linux shell单引号、双引号及无引号区别
    (转)Linux基础------Shell数值计算的几种方法
    (转)Shell中获取字符串长度的七种方法
    (转)source、sh、bash、./执行脚本的区别
    session和cookie的联系
    javascript中的cookie
  • 原文地址:https://www.cnblogs.com/nanhe/p/15293343.html
Copyright © 2011-2022 走看看