IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> PYTHON爬虫小工具 -> 正文阅读

[Python知识库]PYTHON爬虫小工具

google headers格式转换

复制google浏览器中的request headers

def googleHeadersFormat(headers):
    '''
    google headers格式转换
    :param headers:
    :return:header_dict
    '''
    header_dict = {}
    for header in headers.split('\n'):
        header_dict[header.split(':')[0]] = header[len(header.split(':')[0]) + 1:].strip()
    return header_dict

firefox headers格式转换

复制firefox浏览器中的request headers

def huohuHeaderFormat(headers):
    '''
    火狐header格式转换
    :param headers:
    :return:header_dict
    '''
    header_dict={}
    for key in headers.keys():
        for header_info in headers[key]['headers']:
            header_dict[header_info['name']]=header_info['value']
    return header_dict

判断服务器检测哪些headers头

class TestHeaders:
    def get(self, url, headers):
        """
        检测headers中有用的头部信息
        :param url:
        :param headers:
        :return:
        """
        res1 = requests.get(url=url, headers=headers)

        for key in list(headers.keys()):
            headers2 = copy.deepcopy(headers)
            del headers2[key]
            res = requests.get(url=url, headers=headers2)
            if len(res1.text) != len(res.text):
                print('检测headers头:{} '.format(key))
    def post(self,url, headers, data):
        """
        检测headers中有用的头部信息
        :param url:
        :param headers:
        :param data:
        :return:
        """
        res1 = requests.post(url=url, headers=headers, data=data)

        for key in list(headers.keys()):
            headers2 = copy.deepcopy(headers)
            del headers2[key]
            res = requests.post(url=url, headers=headers2, data=data)
            if len(res1.text) !=len(res.text):
                print('检测headers头:{} '.format(key))


判断服务器检测哪些cookies值

class TestCookies:
    def get(self,url, headers, cookie_dict):
        """
        检测cookies中有用的值
        :param url:
        :param headers:
        :param cookies:   Cookie: BAIDUID=933818930EC617BA9DBD9A5A6824C065:FG=1; BIDUPSID=933818930EC617BA91FB2AAD99D2532A; PSTM=1633267654; __yjs_duid=1_b02549f02976c756f53dc2628aef7ccf1633267669753; Hm_lvt_64ecd82404c51e03dc91cb9e8c025574=1637223401,1637415773,1637467427,1637476253; REALTIME_TRANS_SWITCH=1; FANYI_WORD_SWITCH=1; HISTORY_SWITCH=1; SOUND_SPD_SWITCH=1; SOUND_PREFER_SWITCH=1; BDUSS=llaNWhTbHJON3J5ZUI3ZXI3Q1hzcFg5Z0ZqNmRHMFBreWZaSndUaldpa1p3cFJoSVFBQUFBJCQAAAAAAQAAAAEAAABEQ-VPaGFwcHn2zrTvtO8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABk1bWEZNW1hS; __yjs_st=2_YzkyZDlhNzM2MDA4MzMyYjA0MzZhMmVlNzA4NzU0MTdlYTZiNzg4ZTg4OGZhNmJmOTE1OWViODhmZTU4YWJjYzE4MmMyZDZjMmVjNzc1OTdhMTZmZjAzOThmYmYyMDY4YmU5ZWVmZDcwMWY3ZDc5ZmI3NDFmZDdhMThjYzhmNDYwZjFjOWM0NmQ2YTdkNGJhMTA2ODI5YTJhZDNmYTVmODMyMTljNzI1NzBlYjJmMzRkOGVmYmZhZTI2ZTgxZDAwMWRjZDQzZjlmMGVkMjViZDAxOWI2YmI1OGUxOTI3ZWM4OTQyYjk1OGZlZDZlZWNjMGEwNjAyNjY5MTc4ZTRhNl83XzcxMmI4NWY4; BDORZ=FFFB88E999055A3F8A630C64834BD6D0; ab_sr=1.0.1_YzdlNmU4ZTY5ODNlNTA4OTc1MTU4YmJiMDA0NWM2NjNiMTg2YTc4MGFjODhiMTRkYWY2YTBhZTMzM2UyZDUxZWVkMjYyNjEzOGUwNDZkYTEwODE1ZjUxNDM4ODMwMzJlOTM2NDk3ZGMzMzhkMmEzM2JjMTRmM2M3MDMyNGYzZDYxZmFjN2UzODQwMzA3MWNkOTIyZjIxNjAzMDIwNGJkMg==; BDRCVFR[9M3uyrD9jZb]=dhaJUOdr3F0mh-bpy78ugc8mvqV; delPer=0; PSINO=6; H_PS_PSSID=26350; BA_HECTOR=2h2g240h252ka4a17r1gpjpss0q; Hm_lpvt_64ecd82404c51e03dc91cb9e8c025574=1637476266

        :return:
        """

        print(cookie_dict)
        res1 = requests.get(url=url, headers=headers, cookies=cookie_dict)
        # print(res1.text)
        for key in list(cookie_dict.keys()):
            cookie_dict1 = copy.deepcopy(cookie_dict)
            del cookie_dict1[key]
            res = requests.get(url=url, headers=headers, cookies=cookie_dict1)

            if len(res1.text) != len(res.text):
                print('检测cookies键:{}'.format(key))


    def post(self,url,headers,data,cookie_dict):
        """
        检测cookies中有用的值
        :param url:
        :param headers:
        :param data:
        :param cookies:   Cookie: BAIDUID=933818930EC617BA9DBD9A5A6824C065:FG=1; BIDUPSID=933818930EC617BA91FB2AAD99D2532A; PSTM=1633267654; __yjs_duid=1_b02549f02976c756f53dc2628aef7ccf1633267669753; Hm_lvt_64ecd82404c51e03dc91cb9e8c025574=1637223401,1637415773,1637467427,1637476253; REALTIME_TRANS_SWITCH=1; FANYI_WORD_SWITCH=1; HISTORY_SWITCH=1; SOUND_SPD_SWITCH=1; SOUND_PREFER_SWITCH=1; BDUSS=llaNWhTbHJON3J5ZUI3ZXI3Q1hzcFg5Z0ZqNmRHMFBreWZaSndUaldpa1p3cFJoSVFBQUFBJCQAAAAAAQAAAAEAAABEQ-VPaGFwcHn2zrTvtO8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABk1bWEZNW1hS; __yjs_st=2_YzkyZDlhNzM2MDA4MzMyYjA0MzZhMmVlNzA4NzU0MTdlYTZiNzg4ZTg4OGZhNmJmOTE1OWViODhmZTU4YWJjYzE4MmMyZDZjMmVjNzc1OTdhMTZmZjAzOThmYmYyMDY4YmU5ZWVmZDcwMWY3ZDc5ZmI3NDFmZDdhMThjYzhmNDYwZjFjOWM0NmQ2YTdkNGJhMTA2ODI5YTJhZDNmYTVmODMyMTljNzI1NzBlYjJmMzRkOGVmYmZhZTI2ZTgxZDAwMWRjZDQzZjlmMGVkMjViZDAxOWI2YmI1OGUxOTI3ZWM4OTQyYjk1OGZlZDZlZWNjMGEwNjAyNjY5MTc4ZTRhNl83XzcxMmI4NWY4; BDORZ=FFFB88E999055A3F8A630C64834BD6D0; ab_sr=1.0.1_YzdlNmU4ZTY5ODNlNTA4OTc1MTU4YmJiMDA0NWM2NjNiMTg2YTc4MGFjODhiMTRkYWY2YTBhZTMzM2UyZDUxZWVkMjYyNjEzOGUwNDZkYTEwODE1ZjUxNDM4ODMwMzJlOTM2NDk3ZGMzMzhkMmEzM2JjMTRmM2M3MDMyNGYzZDYxZmFjN2UzODQwMzA3MWNkOTIyZjIxNjAzMDIwNGJkMg==; BDRCVFR[9M3uyrD9jZb]=dhaJUOdr3F0mh-bpy78ugc8mvqV; delPer=0; PSINO=6; H_PS_PSSID=26350; BA_HECTOR=2h2g240h252ka4a17r1gpjpss0q; Hm_lpvt_64ecd82404c51e03dc91cb9e8c025574=1637476266

        :return:
        """



        res1 = requests.post(url=url, headers=headers, data=data, cookies=cookie_dict)

        for key in list(cookie_dict.keys()):
            cookie_dict1=copy.deepcopy(cookie_dict)
            del cookie_dict1[key]
            res = requests.post(url=url, headers=headers, data=data,cookies=cookie_dict1)

            if len(res1.text) != len(res.text):
                print('检测cookies键:{}'.format(key))



  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-11-22 12:17:56  更:2021-11-22 12:18:36 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 0:25:43-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码