网页源代码抓取工具(sublimeajax学过加载导致的部分关键代码显示不出来!)
优采云 发布时间: 2022-01-03 14:56网页源代码抓取工具(sublimeajax学过加载导致的部分关键代码显示不出来!)
1、前言
我相信在这个知识共享的时代,你必须下载大量的文件并保存在互联网上以备将来学习。毕竟硬盘空间也比较有限。说一下我们要做的项目,就是搜索。搜索磁盘中的资源并下载。
2、项目目标
实现搜索所需文件,下载文件。
3、项目准备
使用sublime text 3开发,因为这次需要使用interactive来完成操作,所以需要在sublime text 3下载一个sublimeREPL插件来辅助开发。
4、项目实现
(1)打开盘搜,随意打开一个链接,如下图:
(2)然后就可以看到这个画面了,如下图。
(3)此时这个网页的地址是:
http://www.pansou.com/?q=成化十四年
可以看出是一个get请求。所以 requests.get 开始了,所以我们实现了第一步,搜索。所以,你可以这样写代码:
import requests
def down(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即可。
最终结果,如图:
(8)接下来我们会加强程序,使其具有交互功能供用户选择。
(9)但是我们知道callback一般是一个可变函数,所以可以使用的参数只有q和p两个,所以:
到此完成指定页面的文件浏览。
下载也比较简单,直接复制链接到浏览器,就完成了最简单的搜索引擎。
5、总结
(1)不建议抓取太多数据,容易加载服务器,简单试一下。
(2)本文基于Python网络爬虫,利用爬虫库搭建了一个简单的Python搜索引擎。
(3)实现的时候,总会出现各种问题,不要看高手,自己去深入了解一下。