这个软件适用于向我一样刚入门的新手进行练手,主要实现的功能是根据输入的关键字到百度图片网站中去爬取对应的图片,并自动保存在固定的位置,代码不长,只有一百多行,运行效果如下图所示。
首先我们想要爬取就需要知道怎样去获取有用的信息,先打开百度图片网址。
在其中随意输入关键字,例如作者喜欢美女,就输入美女然后进行搜索,之后打开浏览器自带的开发者工具,点击Network,再点击XHR,最后按住ctrl+r滚动鼠标,之后就会截取到各个图片的对应信息。
随便打开一张图片,找到网址结尾带问号的图片,将其中所有内容复制黏贴到记事本以作备用。
现在就该来进行我们代码的部分了,打开我们的pycharm,所需要使用的库有requests、json、os、tkinter,还有在最后打包的时候还会使用到pyinstaller库,这些都可以使用 pip install 进行下载安装。
import requests
import json
import os
from tkinter import *
from tkinter import messagebox
我们先搭好小软件的框架
class Application(Frame):
#定义一个类进行调用
def __init__(self, master=None):
super().__init__(master)
self.master = master
self.pack()
self.path = StringVar()
self.Createwidget()
def Createwidget(self):
self.tabe00 = Label(self, text="爬取内容:")
self.tabe00.pack()
v0 = StringVar()
self.entry00 = Entry(self, textvariable=v0)
self.entry00.pack()
self.tabe01 = Label(self, text="爬取页数:")
self.tabe01.pack()
v2 = StringVar()
self.entry01 = Entry(self, textvariable=v2)
self.entry01.pack()
Button(self, text="开始", command=self.login).pack()
def login(self):
pass
if __name__ == "__main__":
root = Tk()
root.title("爬虫软件")
root.geometry("400x200+300+200")
app = Application(master=root)
root.mainloop()
在我们框架搭建完成之后便是将我们的爬虫代码写进login方法当中去,其中header、url、param都是找我们之前准备好的信息替换进去,其余部分大家就照着我的敲就是啦,其中param中单双引号都可以喔,不用纠结。
def login(self):
n = 0
pn = 1
page = int(self.entry01.get()) + 1
path = "D:/百度图片"
if not os