手把手教你使用Python打造一款简易搜索引擎
相信大家在知识共享的这个年代一定在网上下载了很多的文件保存以供日后有时间学习吧 , 毕竟硬盘空间也比较有限 , 下面我们就来说说我们要做的这个项目 , 就是搜索盘搜里的资源然后进行下载 。
/2项目目标/
实现搜索自己想要的文件 , 并且下载文件 。
/3项目准备/
使用sublimetext3开发 。 因为此次我们需要用到交互式来完成操作 , 所以需要在sublimetext3下载一个sublimeREPL插件来进行辅助开发 。
/4项目实现/
1、打开盘搜 , 并随意打开一个链接 , 如下图所示:

文章图片
2、然后可以看到这个画面 , 如下图所示 。

文章图片
3、此时这个网页地址为:http://www.pansou.com/?q=成化十四年
由此可以看出它是一个get请求 。 于是requests.get搞起来 , 这样我们就实现了第一步 , 搜索 。 于是 , 可以这样写代码:
importrequestsdefdown(content):content=input("请输入要下载的文件名")rep=requests.get("http://www.pansou.com/?q="+str(content))rep.encoding="utf-8"
4、这样就得到了上个页面中的网页源代码 , 我们通过搜索相关关键字发现竟然搜不到:

文章图片
5、那么这是怎么回事?原来这是因为ajax异步加载导致的部分关键代码显示不出来 。 这可就犯难了 , 换句话说这就触及到我的知识点盲区了 。 因为小编并未学过前端 , 只知道有ajax这回事 , 哪里知道这个问题怎么产生怎么解决了 。 不过不用怕 , 还好小编有一个大绝招 , 那就是找接口 。 我找呀找 , 终于被我找到了 , 哎 , 功夫不负苦心人 。 如图所示:

文章图片

文章图片
6、发现这是个json格式的所以我们现在可以将他进行读取 , 如图:

文章图片
7、不容易啊 , json的坑很多 , 于是决定用字典 。 哈哈哈哈 , 果然适合自己的才是最香的 。
找到了这些东西我们就可以把他们提取出来啦 , 这样我们就提取出了第一页的所有结果 , 要想提取第二页的结果只需将p的结果改为2即可 。
【手把手教你使用Python打造一款简易搜索引擎】最终的结果 , 如图:

文章图片
8、接下来我们强化下程序 , 让他具有交互功能 , 供用户选择 。

文章图片
9、但是我们了解到callback一般都是可变的函数 , 所以真正能用上的就只有两个参数 , q和p , 于是:

文章图片
这样就完成了指定页面的文件浏览 。
下载的话也比较简单 , 直接将链接复制到浏览器中即可 , 这样就完成了一个最简单的搜索引擎了 。
/5小结/
1、不建议抓取太多数据 , 容易对服务器造成负载 , 浅尝辄止即可 。 2、本文基于Python网络爬虫 , 利用爬虫库 , 打造了一款简易的Python搜索引擎 。 3、实现的时候 , 总会有各种各样的问题 , 切勿眼高手低 , 勤动手 , 才可以理解的更加深刻 。 4、如果需要本文源码的话 , 请在公众号后台回复“Python引擎”关键字进行获取 , 觉得不错 , 记得给个star噢 。
-------------------
【来源:飞总聊IT】
声明:转载此文是出于传递更多信息之目的 。 若有来源标注错误或侵犯了您的合法权益 , 请作者持权属证明与本网联系 , 我们将及时更正、删除 , 谢谢 。 邮箱地址:newmedia@xxcb.cn
推荐阅读
- 海关|解读|海关小姐姐教你办理原产地签证智能审单业务
- 林郑月娥首度承认使用信用卡受限|被美国列入制裁名单,林郑月娥首度承认使用信用卡受限,有不便但感光荣
- |王者荣耀:推塔流阿古朵压制力,教你8分钟优势一面倒堵住高地
- 吃货峰子|熬猪油,只加水是“外行”!教你正确做法,香浓不腥,吃1年不坏
- spring框架之注解的使用
- 手机卡|“欠费”后的实名手机卡,没使用也不去注销,结果会怎样?
- 接口|视频上云网关平台EasyCVR接口文档使用中需要注意哪些?
- 费码|河南省推广使用转供电优惠“码”上查 减费“红包”直达小微企业
- 淮山和山药有何区别?教你4招轻松分辨,让你不被骗不乱补
- 3d电影|看3D电影须先买眼镜?影院称为了防疫且可循环使用
