百度网盘_SEARCH

需求分析

  1. 我有一些资源网站,但是每次我需要资源的时候需要打开他们的网页,搜索再筛选我需要的网盘资源,这样的操作非常麻烦
  2. 使用python模拟这些搜索操作,然后爬取我需要的百度网盘信息
  3. 用python的Gui编程开发一个简单的界面

实现

界面开发

  1. 搜索框
  2. 搜索按键
  3. 结果展示框
#coding=utf-8from tkinter imprt *class movieFrame:def __init__(self, init_window_name):self.init_window_name = init_window_namedef setInitWindow(self):self.init_window_name.title("百度网盘_SEARCH by YoooKnight")self.init_window_name.getmetry('500x400')# 搜索框self.init_search_text = Text(self.init_window_name, width=30, height=2)self.init_search_text.grid(row=0, column=1, padx=20, pady=10)# 结果集self.init_result_data = Text(self.init_window_name, width=50, height=20)self.init_result_data.config(state=DISABLED)self.init_result_data.grid(row=1, column=1, columnspan=2, padx=20, pady=10, sticky=W)#滚动条scroll = Scrollbar(command=self.init_result_data.yview)self.init_result_data.config(yscrollcommand=scroll.set)scroll.grid(row=1,column=3, sticky=S + W + E + N)# 查询按钮self.searchButton = Button(self.init_window_name, text="查询", bg='lightblue', command=self.searchMovie)self.searchButton.grid(row=0, column=2)def searchMovie:pass

BDY资源爬虫开发

  1. 目前只做了一个资源网站的爬取,后期有时间会进行扩展
  2. 该网站做了爬虫封锁间隔时间,也就是如果连续爬取该页面会直接不给你访问,可能会等待一段时间才能继续访问,后期有时间会增加代理ip访问
from bs4 import BeautifulSoup
from urllib.request import quote
import urllib.request
import string
import reclass Spider:search = ''# 需要访问的网址indexUrl = 'http://****/'headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36'}def __init__(self, search):self.search = searchdef getlinkList(self):# 搜索文件searchUrl = self.indexUrl + '?s=' + self.searchsearchUrl = quote(searchUrl, safe=string.printable)req = urllib.request.Request(searchUrl, headers=self.headers)res = urllib.request.urlopen(req)html = res.read().decode('utf8')# 读取详情页面soup = BeautifulSoup(html, 'html.parser')try:# 这里只找了第一个链接,所有相当于是查找到相似度最高的一个结果detailUrl = soup.find('div', class_='mainleft').find('div', class_='thumbnail').find('a').get('href')# 获取详情页面detailReq = urllib.request.Request(detailUrl, headers=self.headers)detailRes = urllib.request.urlopen(detailReq)detailHtml = detailRes.read().decode('utf-8')dic = []# 查找所有的a标签soup = BeautifulSoup(detailHtml, 'html.parser')aList = soup.findAll("a")linkUrlList = []for aTag in aList:tempHref = aTag.get("href")if tempHref and tempHref.find("pan.baidu.com")>=0:linkUrlList.append(tempHref)# 获取所有的提取码codeList = re.findall('((提取码|密码)[\:\:][ ]?.{4})', str(detailHtml))# 拼接我需要的数据index=0for link in linkUrlList:if (index<len(codeList)):tempDic = {"link": link,"code": codeList[index][0][-4:]}dic.append(tempDic)index += 1return dicexcept Exception as e:print(e)return []

整合界面和爬虫

  1. 点击搜索之后调用爬虫接口
  2. 获取网盘数据并且展示
from sourceSpider.pinghaoche import spider as pingSpiderclass movieFrame:def searchMovie(self):# 获取搜索框里面的内容search = self.init_search_Text.get(1.0, END)spiderObject = pingSpider.Spider(search)ret = spiderObject.getlinkList()index = 1self.init_result_data.config(state=NORMAL)self.init_result_data.delete(1.0, END)if ret:for temp in ret:tempIndex = format(index, '0.1f')self.init_result_data.insert(tempIndex, "链接地址:" + temp['link'] + "\n")index += 1tempIndex = format(index, '0.1f')self.init_result_data.insert(tempIndex, "提取码:" + temp['code'] + "\n\n")index += 2else:self.init_result_data.insert(1.0, "非常抱歉,没有找到你要的影片")self.init_result_data.config(state=DISABLED)

打包

  1. 安装pyInstaller
pip install pyInstaller
  1. 打包成exe文件
# F: 生成结果是一个exe文件,所有的第三方依赖、资源和代码均被打包进该exe内
# w: 不显示命令行窗口
pyInstaller -Fw xx.py

成果展示

1566972692(1).jpg

总结

  1. 界面开发使用的是tkinter,后期看一下qt开发
  2. 在爬虫的过程中发现详情页面规则并不是确定的,发现每次爬取可能会出错,于是直接爬取所有的a标签并且对比百度网盘的地址,提取码直接用正则全文搜索出来,肯定还是有误差的,可能会出错,先把功能实现,后期修改就行

Tips:有兴趣的朋友可以+qq1592388194,这只是一个小工具,有很多问题,不介意的可以找我,大家一起学习进步,哈哈哈。

ps:
该文章已经同步发到简书,链接地址:https://www.jianshu.com/p/9a53322a6d0c

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/48227.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用ChatGPT进行个性化学习

推荐&#xff1a;将 NSDT场景编辑器 加入你的3D工具链 3D工具集&#xff1a; NSDT简石数字孪生 在这篇文章中&#xff0c;您将发现 ChatGPT 作为机器学习和数据科学爱好者的个人导师的好处。特别是&#xff0c;您将学习 如何让ChatGPT引导你学习抽象代数如何让 ChatGPT 帮助您…

【对话ChatGPT】如何使用ChatGpt来学习和提问?

ChatGPT的不断发展和进步&#xff0c;我们需要工作中很多时候会用到ChatGPT&#xff0c;那么如何使用ChatGPT来解决我们工作中的问题呢&#xff1f; Q1 如何向ChatGPT提问&#xff0c;从而更快解决我们的问题&#xff1f; ChatGPT&#xff1a;以下是向ChatGPT提问的一些提示&am…

chatgpt赋能python:Python收费介绍

Python收费介绍 什么是Python? Python是一种高级的、解释性、面向对象、纯粹的动态语言&#xff0c;多用于快速应用程序开发、脚本编写、系统管理任务等。它有一个简单直观优美的语法&#xff0c;非常容易学习。 Python的收费形式 Python语言本身是免费的&#xff0c;任何…

微信「订阅号助手」 App 正式上线,请尽情吐槽!

说了一年&#xff0c;有可能做了更久。 现在微信「订阅号助手」 App 终于上线了&#xff0c;结果竟是这个。 打开微信订阅号助手 app&#xff0c;目前有邮箱登录和微信登陆两种方式&#xff0c;对于微信运营者来说&#xff0c;微信登陆无需输入账号密码&#xff0c;无疑是最省事…

易媒助手是自媒体一键式发布平台吗?

自媒体领域发展迅速&#xff0c;在当前这个大环境中&#xff0c;小伙伴们必须提高自己的内容发布效率&#xff0c;增加作品曝光量&#xff0c;才能在这个行业站得住脚。那么这里就要用到一些自媒体工具&#xff0c;比如像易媒助手这样的自媒体工具是一键发布内容平台吗&#xf…

自媒体营销工具-绑定自媒体账号一键分发到媒体平台,让运营高效省心

一、什么是自媒体营销 自媒体营销就是利用社会化网络、在线社区、博客、百科、短视频、微博、微信、今 日头条、百度、搜狐、凤凰、UC 等平台或者其他互联网协作平台和媒体来传播和发布 资讯&#xff0c;从而形成的营销、销售、公共关系处理和客户关系服务维护及开拓的一种方 …

模拟微信自动化发送(微信公众号文章自动点击)

大家好&#xff0c;我是烤鸭&#xff1a; 分享个微信自动化发送的新方式&#xff0c;仅技术分享。 本来是公众号文章抓取相关的&#xff0c;审核一直不过&#xff0c;将就看吧。 需要的工具 Java&#xff08;jdk1.8&#xff09; Fiddler Python&#xff08;3.8&#xff09;…

Wetool 一款高效免费的微信社群管理工具,检查单向好友,自动回复、群发

这是一款高效免费的微信社群管理工具&#xff0c;目前功能主要有客服、机器人、单删查询、自动接受好友、以及群管理的一些工具 下面放一下软件功能截图 需要注意的是开启此工具需要下载旧版本的微信&#xff0c;这个在软件安装启动页面会自动进行下载。 单删改查功能 这个功能…

微信运营必备!专业的微信粉丝和社群管理工具!功能强大好用,而且免费!

我们现在的生活&#xff0c;微信已经变成国民APP&#xff0c;几乎每个手机中都会有Ta的影子&#xff0c;就连最新的老人机内置应用中都有。这么庞大的用户体量&#xff0c;很多人都会将自己的客户或者粉丝加到个人号中&#xff0c;有的甚至有500的群&#xff0c;这么多的客户和…

加粉推广全能助手 推广辅助工具 好多粉微信号加粉复制统计工具加强版,加粉推广神器,持续完善升级,新增统计点击转化,页面插件功能,完美支持ocpc接口

最新一次版本是3.7版了&#xff0c;相比最开始的版本&#xff0c;新增了行为转化统计&#xff0c;落地页插件功能。 可能大家还不明白我们的这个系统有什么用了&#xff1f; 好吧&#xff0c;那就简单的介绍下&#xff0c;我们的系统可以给目前的加粉推广的提供最完善的数据统…

轻松采集微信文章,助自媒体创作优质内容!

微信已成为自媒体领域的重要平台之一&#xff0c;其丰富的内容和庞大的用户群体&#xff0c;吸引了越来越多的自媒体人士加入其中。而对于自媒体人士来说&#xff0c;如何快速高效地采集微信文章成为了一个必须掌握的技能。本文将介绍一种基于emlog的微信文章采集方法&#xff…

Wechaty|微信小助手(非web|机器人)

前言 最近在dy上看到有相关wx机器人&#xff08;SCRM&#xff09;在进行相关推广&#xff0c;而之前学习的时候&#xff0c;用基于python开发的itchat玩过一段时间&#xff0c;后来&#xff0c;某一天突然发现微信登不上了&#xff0c;官方的微信网页版也不能登陆了&#xff0…

全网一触即发,自媒体人的内容分发全能助手——融媒宝

作为一个科技数码自媒体人&#xff0c;每天码字、录制视频&#xff0c;那是家常便饭&#xff0c;所谓写文章、录视频的时候&#xff0c;一时忘我一时爽&#xff0c;可到了多平台分发内容&#xff0c;那简直是让人头疼&#xff0c;又浪费太多的时间&#xff0c;分发完毕&#xf…

自媒体人必不可少的多平台同步、一文多发小助手

hello,本期给大家介绍两款自媒体人必不可少的小插件&#xff0c;分别可以达到多平台同步的微信同步助手和支持一文多发的OpenWrite助手。 相信在我们平时&#xff0c;经常会遇到这种情况&#xff0c;当微信写了原创文章&#xff0c;怎样分发到知乎、简书、头条等自媒体平台呢&a…

自媒体助手软件开发需具备哪些功能?

自媒体助手软件开发需具备哪些功能&#xff1f; 1、多平台多账号管理。 用户可以在单独的平台上管理其他平台的账号&#xff0c;不需要登录多个平台&#xff0c;为用户减少了大量的时间&#xff0c;与此同时可以记忆账号和密码&#xff0c;提供分组管理&#xff…

微信同步助手android,微信同步助手插件(自媒体分发)

微信同步助手插件能够快速在各大平台同步推送微信公众号文章&#xff0c;适用于新媒体运营用户&#xff0c;支持多种平台同步推送&#xff0c;包括今日头条、WordPress、知乎、简书等&#xff0c;一键即可同步推送文章&#xff0c;大大减少了复制粘贴排版带来的繁琐工作量&…

来聊聊我们为什么要写单测

前言 哈喽&#xff0c;大家好&#xff0c;我是海怪。 最近在组里我又领了一个新任务&#xff1a;前端单元测试。 关于这个话题在很早的时候就想和大家聊了&#xff0c;奈何一直没机会。对于我个人来说&#xff0c;我是非常喜欢写单测的。最近还买了本《软件测试》的书&#…

7805和78l05可以代换吗_78L05和7805有什么区别

展开全部 主要区别是&#xff0c;性质不同、输入电压、输出电流不同、功62616964757a686964616fe59b9ee7ad9431333433623738能作用不同&#xff0c;具体如下&#xff1a; 一、性质不同 1、78L05 78L05是一种固定电压(5V)三端集成稳压器&#xff0c;可适用于很多应用场合。其卓越…

能代替苹果pencil的手写笔有吗?比较好用的ipad手写笔推荐

要不要买一款电容笔来呢&#xff1f;我想&#xff0c;许多买了ipad的人一定会想要买一款实用的电容笔来和它配对。但太贵的电容笔又担心自己购买后会不用&#xff0c;那么您可以看看替代苹果的原装电容笔。一两百来块钱&#xff0c;买一支平替电容笔&#xff0c;用来记录和画画…

私有属性可以被继承吗_养子女、有抚养关系的继子女可以代位参与继承吗

依据我国继承法的规定&#xff0c;继承人可以对被继承人的财产进行继承&#xff0c;而在继承的过程中会产生一种比较特殊的继承方式&#xff0c;代位继承&#xff0c;那么养子女、有抚养关系的继子女可以代位参与继承吗? 上海资深律师吕桢栋作出解释 一、养子女、有抚养关系的…