当前位置:首页 > 运营 > 正文

手把手教你使用Python打造一个智能搜索淘宝商品生成操作日志的系统

/1 前言/

随着网购的兴起,使得很多传统店铺转型做线上生意,电子商务的产生极大便利了我们的生活。

/2 项目目标/

通过Python程序一键搜索并直达目的地,爬取淘宝商品链接,商品名称,及商品的图片链接,并将每次的操作 记录在日志文件里。

/3 项目准备/

采用sublime text 3编辑器 编写程序,先看看程序运行后的主界面:

手把手教你使用Python打造一个智能搜索淘宝商品生成操作日志的系统  第1张

3、图中的 1,2,3步即是我们要爬的商品各种信息,可以看出商品全在class为photo的dt标签内,所以我们需要将他们提取出来。

try: urllib3.disable_warnings #从urllib3中消除警告 #网页请求 rep=requests.get(self.e2.get,verify=False,timeout=4) #证书验证设为FALSE,设置访问延时 rep.encoding='gbk' soup=BeautifulSoup(rep.content,'html.parser') result=soup.find_all('dt',class_='photo') #获取到所有class为photo的dt元素 for x in result: tt=x.find_all('a') #获取dt下的所有子元素a for y in tt: for x in y: ab=x.find_next_siblings('img') #获取所有的下一个兄弟元素img for z in ab: #将商品名称和商品图片链接添加到列表aa和bb中 aa.append(z['alt']) bb.append('https:' z['data-ks-lazyload']) cc.append('https:' y['href'])#将商品链接添加到列表cc中 except: return

这样我们就轻松获取到了,商品的链接,商品名,商品图片链接,然后将他们分别保存在aa,bb,cc列表中。

/5 编写GUI界面,交互友好/

为了使运行结果更加美观,我们需要制作一个GUI界面,这就不得不提Python内置GUI神器 tkinter了。

好了,言归正传,我们编写交互式界面可以将他封装为一个类,这样更美观。

class page: def __init__(self): self.ti=dt.now.strftime("%Y/%m/%d %H:%S:%M") self.root= tk.Tk #初始化窗口 self.root.title('淘宝获取商家宝贝V1.0') #窗口名称 self.root.geometry("700x700") #设置窗口大小 self.root.iconbitmap('q.ico') self.root.resizable(width=True,height=True) #设置窗口是否可变,宽不可变,高可变,默认为True #创建标签,文字,背景颜色,字体(颜色,大小),标签的高和宽 self.label1 =tk.Label(self.root,text='店铺首页:',font=('宋体',10),width=12,height=2) #创建输入框,标签高度,字体大小颜色,内容显示方式 self.e2 = tk.Entry(self.root,width=30,show=None, font=('Arial', 12)) # 显示成明文形式 self.label2 =tk.Label(self.root,text='淘宝直达:',font=('宋体',10),width=12,height=2) self.e1 = tk.Entry(self.root,width=30,show=None, font=('Arial', 12)) #创建按钮 内容 宽高 按钮绑定事件 self.b1 = tk.Button(self.root, text='解析页面', width=8,height=1,command=self.parse) self.b2 =tk.Button(self.root, text='生成excel', width=8,height=1,command=self.sc) self.b3 =tk.Button(self.root, text='淘宝搜索', width=8,height=1,command=self.search) self.b4 =tk.Button(self.root, text='关闭程序', width=8,height=1,command=self.close) self.b5 =tk.Button(self.root, text='保存日志', width=8,height=1,command=self.log) #创建文本框 self.te=tk.Text(self.root,height=40) self.label1.place(x=140,y=30,anchor='nw') self.label2.place(x=138,y=70,anchor='nw') #将所有部件添加到界面中 self.e1.place(x=210,y=74,anchor='nw') self.e2.place(x=210,y=34,anchor='nw') self.b1.place(x=160,y=110,anchor='nw') self.b2.place(x=240,y=110,anchor='nw') self.b3.place(x=320,y=110,anchor='nw') self.b4.place(x=400,y=110,anchor='nw') self.b5.place(x=480,y=110,anchor='nw') self.te.place(x=40,y=170,anchor='nw') #设置输入框开始文本 self.e1.delete(0, "end") self.e1.insert(0, "请输入要搜索的商品") self.root.mainloop

这样就算是创建好GUI界面了,效果图如下:

手把手教你使用Python打造一个智能搜索淘宝商品生成操作日志的系统  第2张

/8 快捷搜索淘宝商品网页直达程序关闭/

要想一键搜索淘宝商品首先我们的找到淘宝的搜索地址,然后在进行get请求,给他传不同的值即可。一般搜索会涉及到一个关键字search。

这里我们先找到淘宝的搜索入口,地址为:

https://s.taobao.com/search?q=

然后再在后面传值即可,因为我们是要在浏览器中浏览,所以需要使用webbrowser这个模块,专门负责访问页面,他的用法是webbrowser.open(url)。

所以代码如下:

# 搜索商品def search(self): self.te.insert("insert"," 。。。。。打开浏览器 :。。。。。n") wb.open('https://s.taobao.com/search?q=' self.e1.get) #打开 浏览器

最后就是关闭程序了。代码如下:

# 关闭程序def close(self): self.te.insert("insert"," 。。。。。关闭程序 :。。。。。n") self.root.destroy #销毁窗口

/9 小结/

1、不建议抓取太多数据,容易对服务器造成负载,浅尝辄止即可。

2、本文基于Python网络爬虫,利用爬虫库,打造了一款简易的智能淘宝搜索系统,并且可以操作生成日志。

3、这个系统看似很简单,实则对于新手小白是个不小的挑战,甚至有些大佬也很容易掉坑,主要这个网页分析有点复杂多变,而且还会有很多让你蒙圈的异常。总的来说还是挺不错的一个练手项目,也算是对自己的一个考验吧,希望大家喜欢。

、4 智能淘宝”关键字进行获取,觉得不错,记得给个star噢。
取消
扫码支持 支付码