美文网首页
Python(六十五)抓包及其简单解析

Python(六十五)抓包及其简单解析

作者: Lonelyroots | 来源:发表于2022-02-24 22:50 被阅读0次

    1.分析摄图网

    摄图网
    搜素的业务场景:
    1. 如果页面发生了刷新:那么我们先看地址栏
    2. 如果页面没有发生刷新,那么进行抓包

    1.简单的分析可以发现,我们通过关键字拼音可以获取到相应的界面,如彩蛋
    2.随后我们发现,在博大精深的汉字中,我们对于关键字的处理方法不太可行
    因为菜单和彩蛋同音,但菜单的路由是143555.html,并不是我们可以想到的

    04_抓包及其简单解析/01_分析摄图网.py:

    """
    
    摄图网
    https://699pic.com/
    
    搜素的业务场景:
        1. 如果页面发生了刷新:那么我们先看地址栏
        2. 如果页面没有发生刷新,那么进行抓包
    
    1. 简单的分析可以发现,我们通过关键字拼音可以获取到相应的界面,如彩蛋
        https://699pic.com/tupian/caidan.html
    2. 随后我们发现,在博大精深的汉字中,我们对于关键字的处理方法不太可行
        因为菜单和彩蛋同音,但菜单的路由是143555.html,并不是我们可以想到的
    
    """
    import requests
    
    word = input("请输入:")
    
    proxie = {
        'http':'113.138.212.12:4231'
    }
    
    url = "https://699pic.com/search/getKwInfo?kw={}".format(word)
    
    # response = requests.get(url,proxies=proxie)
    # print(response.text)    # 输入菜单,返回的是JSON:{"kwid":"143555","pinyin":"143555"}
    
    kwJson = requests.get(url,proxies=proxie).json()        # json(),自动将json字符串转换成Python dict
    kw = kwJson['pinyin']
    
    kw_url = "https://699pic.com/tupian/{}.html".format(kw)
    print(kw_url)
    

    2. xpinyin模块

    04_抓包及其简单解析/02_xpinyin模块.py

    """
    
    pip install xpinyin -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
    
    """
    from xpinyin import Pinyin
    
    p = Pinyin()        # 实例化
    
    print(p.get_pinyin("上海"))       # shang-hai
    print(p.get_pinyin("上海", tone_marks="marks"))       # 加声调shàng-hǎi
    # 第二个参数,拼音与拼音的分割,默认是-
    print(p.get_pinyin("上海",""))    # shanghai
    print(p.get_pinyin("上海","~"))    # shang~hai
    
    print("--------------")
    
    print(p.get_initial("上"))       # S
    print(p.get_initial("海"))       # H
    # print(p.get_initial("上海"))       # 会报错,只能传一个字符TypeError: ord() expected a character, but string of length 2 found
    print(p.get_initials("上海"))     # S-H
    print(p.get_initials("上海",""))     # SH
    print(p.get_initials("上海","~"))     # S~H
    

    3. requests_html模块

    04_抓包及其简单解析/03_requests_html模块.py:

    from requests_html import HTMLSession
    import requests
    
    session = HTMLSession()     # 维持且保存
    
    url = 'https://baidu.com'
    
    response = session.get(url=url)     # 两者比较之后发现,requests_html模块自带了UA
    response2 = requests.get(url=url)
    
    # print(session.headers)
    print(response.text)
    print("======")
    # print(response2.text)
    

    4. 摄图网简单解析

    04_抓包及其简单解析/04_摄图网简单解析.py:

    from requests_html import HTMLSession
    
    session = HTMLSession()
    
    url = "https://699pic.com/tupian/143555.html"
    
    response = session.get(url=url)
    # print(response.html.links)      # 获取页面中所有的链接,仅显示部分
    # print(response.html.absolute_links)      # 获取页面中所有的链接,自动将url转转换为绝对路径
    
    imgList = response.html.xpath('//div[@class="list"]/a/@href')
    for imgUrl in imgList:
        print(imgUrl)
    
    titleList = response.html.xpath('//div[@class="list"]/a/@title')
    for title in titleList:
        print(title)
    

    文章到这里就结束了!希望大家能多多支持Python(系列)!六个月带大家学会Python,私聊我,可以问关于本文章的问题!以后每天都会发布新的文章,喜欢的点点关注!一个陪伴你学习Python的新青年!不管多忙都会更新下去,一起加油!

    Editor:Lonelyroots

    相关文章

      网友评论

          本文标题:Python(六十五)抓包及其简单解析

          本文链接:https://www.haomeiwen.com/subject/uwkzlrtx.html