tkinter自制爬虫所需请求头加引号小工具并用pyinstaller打包成可执行文件

大家在玩爬虫时经常需要在请求的时候添加headers,这个时候就很烦,需要一个一个输入引号,逗号… 就算你会用pycharm里的正则匹配工具去修改,也需要想半天正则表达式,好麻烦… 虽然网络上有许多请求头加引号程序,但是都需要在程序里运行才可以,所以这里我就给大家提供一个tkinter做的请求头加引号工具:

成品+百度首页请求头的例子:
tkinter自制爬虫所需请求头加引号小工具并用pyinstaller打包成可执行文件_第1张图片

先说说怎么加引号,这里用到了正则匹配:

def rhq(headers):
    for line in headers.splitlines():
        print(re.sub('^(.*?):[\s]*(.*?)$', '\'\\1\':\'\\2\',', line))

tkinter.scrolledtext分别实现转换前和转换后的内容显示:

scanf = ScrolledText(root, width=80, height=20)
scanf.grid(row=2, columnspan=2)

printf = ScrolledText(root, width=80, height=20)
printf.grid(row=5, columnspan=2)

pyperclip一键复制到剪贴板:

不过你需要先pip install pyperclip

pyperclip.copy(printf.get('1.0', 'end-1c'))

为了便于打包,还需要将所有函数封装成main函数

接下来上源码:

from tkinter import *
from tkinter.scrolledtext import *
import re
import pyperclip

def main():
    root = Tk()
    root.title("Requests_TRAN")
    root.resizable(0, 0)
    Label(text="请将请求头粘贴至此处:").grid(row=1, columnspan=2, sticky=W)
    scanf = ScrolledText(root, width=80, height=20)
    scanf.grid(row=2, columnspan=2)


    def tran():
        def rhq(headers):
            for line in headers.splitlines():
                printf.insert(END, re.sub('^(.*?):[\s]*(.*?)$', '\'\\1\':\'\\2\',', line) + "\n")

        rhq(scanf.get('1.0', 'end-1c'))


    def copy():
        pyperclip.copy(printf.get('1.0', 'end-1c'))


    Button(root, text="点击转换", command=tran).grid(row=3, columnspan=1)

    Label(text="出结果后,点击下方“点击复制”按钮即可复制到剪贴板:").grid(row=4, columnspan=2, sticky=W)

    printf = ScrolledText(root, width=80, height=20)
    printf.grid(row=5, columnspan=2)

    Button(root, text="点击复制", command=copy).grid(row=6, columnspan=1)

    root.mainloop()
if __name__ == '__main__':
    main()

然后用pyinstaller打包:

没有安装pyinstaller的话也可以直接用程序运行就可以的,安装方式:

pip install pyinstaller

tkinter自制爬虫所需请求头加引号小工具并用pyinstaller打包成可执行文件_第2张图片

tkinter自制爬虫所需请求头加引号小工具并用pyinstaller打包成可执行文件_第3张图片
到了最后看见成功提示就了,然后你会发现程序当前目录多了build和dist文件夹,我们所需要的程序就在dist文件夹中:
tkinter自制爬虫所需请求头加引号小工具并用pyinstaller打包成可执行文件_第4张图片
然后我们可以把它发送到桌面快捷方式,这样就可以随时随地使用啦!


最后上一段演示视频(就开头的结果,百度首页的请求头):

tkinter自制请求头加引号小工具演示视频

你可能感兴趣的:(Python,tkinter,百度,正则表达式,exe,python)