• python面试题整活:另类复制粘贴


    嗨害大家好鸭! 我是小熊猫❤

    众所周知,某点评是一直有JS加密的,

    所以关于它的外包一直都很贵,有些公司甚至用来面试,

    可见他的难度。

    但是吧,最近他好像没有加密了,这~

    不值钱了啊!

    那当时就忍不住了,就得用Python开始整活了!

    有什么python相关报错解答自己不会的、或者源码资料/模块安装/女装大佬精通技巧 都可以来这里:(https://jq.qq.com/?_wv=1027&k=2Q3YTfym)或者+V:python10010问我

    请添加图片描述
    话不多说,让我们上代码!


    一、全部代码

    今天就没那么多步骤了,直接上代码!

    import requests
    import parsel
    
    url = 'https://www.dianping.com/search/keyword/344/0_%E7%81%AB%E9%94%85/p2'
    headers = {
        'Cookie': 'fspop=test; cy=344; cye=changsha; _lxsdk_cuid=181f2b8ceedc8-00c68dfc700b1e-c4c7526-384000-181f2b8ceedc8; _lxsdk=181f2b8ceedc8-00c68dfc700b1e-c4c7526-384000-181f2b8ceedc8; _hc.v=fa46cfdd-99f6-80af-c226-f8777fc1f097.1657634607; s_ViewType=10; _lx_utm=utm_source%3DBaidu%26utm_medium%3Dorganic; Hm_lvt_602b80cf8079ae6591966cc70a3940e7=1657634608,1657690542; lgtoken=0ecd60582-14f9-4437-87ad-7b55881b56df; WEBDFPID=3x389w8ww1vw5vuzy491zvxxu36989x2818u39v38389795895568429-1657776946569-1657690545731QSUUAWGfd79fef3d01d5e9aadc18ccd4d0c95072230; dper=6cfaf0f82f34d241b584d587fc92a7117ba6c082354d350ed861c0a256d00ba3beb93db7dc5485b4e2e4e4085a92126fa2e5f1dbe1b6eaefd1c814167fce943e; ll=7fd06e815b796be3df069dec7836c3df; Hm_lpvt_602b80cf8079ae6591966cc70a3940e7=1657690573; _lxsdk_s=181f60e4e6c-cad-fea-c91%7C%7C40',
        'Host': 'www.dianping.com',
        'Referer': 'https://www.dianping.com/search/keyword/344/0_%E7%81%AB%E9%94%85',
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.0.0 Safari/537.36',
    }
    
    response = requests.get(url=url, headers=headers)
    selector = parsel.Selector(response.text)
    href = selector.css('.shop-list ul li .pic a::attr(href)').getall()
    print(href)
    for index in href:
        html_data = requests.get(url=index, headers=headers).text
        selector_1 = parsel.Selector(html_data)
        title = selector_1.css('.shop-name::text').get()  # 店名
        count = selector_1.css('#reviewCount::text').get()  # 评论
        Price = selector_1.css('#avgPriceTitle::text').get()  # 人均消费
        item_list = selector_1.css('#comment_score .item::text').getall()  # 评价
        taste = item_list[0].split(': ')[-1]  # 口味评分
        environment = item_list[1].split(': ')[-1]  # 环境评分
        service = item_list[-1].split(': ')[-1]  # 服务评分
        address = selector_1.css('#address::text').get()  # 地址
        tel = selector_1.css('.tel ::text').getall()[-1]  # 电话
        dit = {
            '店名': title,
            '评论': count,
            '人均消费': Price,
            '口味': taste,
            '环境': environment,
            '服务': service,
            '地址': address,
            '电话': tel,
            '详情页': index,
        }
        print(dit)
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40

    注释我就不注释了,有点赶时间,沙雕朋友喊我去吃饭呢!

    请添加图片描述


    二、效果展示

    请添加图片描述

    本文代码只是爬取了部分内容,视频中还讲解了让数据更好看,多页爬取,保存Excel表格等等。

    给大家展示一下效果
    请添加图片描述
    请添加图片描述
    效果就展示到这里噜~ 毕竟俺的朋友还在等俺恰饭~

    希望你们都有愉快的夜晚~

    请添加图片描述

    我是小熊猫, 咱下篇文章再见啦(✿◡‿◡)

    请添加图片描述

  • 相关阅读:
    JavaScript客户端操作
    Spring基础(五):Bean的生命周期
    秀米推文添加附件的方法
    idea 快捷键 自己也可以修改
    C++为什么始终无法取代 C 吗?
    spring-kafka中ContainerProperties.AckMode详解
    C++ 数字
    信息学奥赛一本通 1915:【01NOIP普及组】最大公约数与最小公倍数 | 洛谷 P1029 [NOIP2001 普及组] 最大公约数和最小公倍数问题
    六、Kafka-Eagle监控
    信号量机制
  • 原文地址:https://blog.csdn.net/m0_67575344/article/details/126561653