各位 18CM,请教一个问题

2020-04-26 01:51:42 +08:00
 miekion

如何爬取需要搜索的结果呢? 现在需要爬校图书馆的馆藏检索内容,无奈大学服务器实在太差,搜一本书需要很久才出来检索内容。。。 现在的想法就是能不能爬取整个图书馆的馆藏内容,直接放入我自己的数据库里。。。。 虽然想法很不现实,但是我想的是用现成的书名字典去搜,同时附带一些关键字:电脑、编程、网络、分析。。等等词语,然后一点点的爬内容,不知道各位有没有什么好的办法。。感觉我这个想法效率不是很高 😭

4288 次点击
所在节点    问与答
19 条回复
WEBUG
2020-04-26 01:55:46 +08:00
如果是找爬虫工具的话,有个可视化爬虫 spider-flow 很好用不会写代码也可以上手。
miekion
2020-04-26 01:57:27 +08:00
@WEBUG 感谢回复……我现在的想法是怎么把校图书馆馆藏检索的内容全部爬下来,也就是要爬需要关键字搜索的内容😂
miekion
2020-04-26 02:00:58 +08:00
我现在的想法是这样的,应该比用字典漫无目的的爬取好很多:
1.虽然查询速度很慢,在给用户提供搜索时,还是使用图书馆提供的检索接口
2.利用用户搜索的关键词,先查一遍数据库中是否已有关键词内容,否则把本次请求的内容放入数据库中,下次搜索时进行判断,如果数据库已有就不再请求校图书馆提供的检索借口

不知道各位有什么见解,请求指教
mason961125
2020-04-26 02:01:19 +08:00
最大的问题是,爬完了可能会有人来找你……
GPLer
2020-04-26 02:15:06 +08:00
@mason961125 你可能理解错了,校图书馆这种东西只能检索书目,不能检索内容。
seki
2020-04-26 02:22:15 +08:00
你写出这个页面会有多少人来用呢
你存了结果,但是图书馆入库了一批新书,你怎么维护呢

如果你只是想改进一下搜索体验,这里的首要问题已经不是怎么爬取数据了。还不如你主动去找图书馆联系,帮助他们改进搜索速度,这样你就能访问到数据库,专注在改进搜索上了
miekion
2020-04-26 02:37:13 +08:00
@seki 目前是我在做一个有关校园生活的小程序,比如查成绩课表校内快递校园活动,还有讨论等等很多模块

目前我从后台看日活是算比较高的了,主要是有同学反馈给我说图书馆检索的实在太慢,我也联系过图书馆,他们回应这个接口实际上是被外包出去的,所以比较难去联系了😂
seki
2020-04-26 03:40:26 +08:00
我觉得不如找点学校内渠道看看能不能拿到数据,最终会更好的,当然我也理解估计会很困难,因为不是技术上的事情了……
falcon05
2020-04-26 07:26:27 +08:00
你的想法很好,应该是最省事的做法,建议定期在后台更新一下缓存的结果,虽然还是会不同步…
EricCartmann
2020-04-26 07:57:47 +08:00
正确的方法不是来这里问大家。因为爬虫没有”一劳永逸”的办法,做爬虫需要对着你的目标一点一点分析,看有没接口,看接口返回的什么类型的数据,看返回的数据有没有加密,看接口有没有 ip 访问限制,这些东西每个网站都不一样。你爬的是学校图书馆的数据,应该没有太多的数据保护加密措施,但可能没有分类接口,只有搜索接口,这就不太好吧所有数据爬下来了。
至于你说的弄到数据后自己维护一套图书搜索系统,还可以根据关键字搜索,建议你看看 Elasticsearch,在校学生很容易陷入一个问题,就是不知道业界主流的解决方案,什么都想自己写一个,写出来效率,安全性又是一堆问题。
Takuron
2020-04-26 08:47:21 +08:00
不建议按关键词来找,一般图书馆都有编号吧按照编号递增遍历。
另外如果只是提供别人查询建议使用楼上的缓存方案,根据我们图书馆的大数据其实大部分人借的书都集中在一些热门书籍上,感觉有点 28 定律的分布,缓存应该能极大优化体验。
最后,不喜欢 18cm 这种标题,先不说女拳我看着也不适,建议少用标题党。
hafuhafu
2020-04-26 08:58:32 +08:00
我觉得你们学校服务器都这样了,你还去爬它...
huayumo
2020-04-26 09:11:53 +08:00
有这功夫,不如把你们学校的程序改造一下,或者直接找管理员要份数据,大家都是干网络的,兴许能给你,
Vegetable
2020-04-26 09:46:32 +08:00
说实话,有这个功夫,不如找管理员问问...
toma77
2020-04-26 09:49:06 +08:00
为何让我减了 2CM ?
rafa
2020-04-26 09:54:28 +08:00
问管理员要一份数据,做一个公益性质的索引检索服务器,win win~
ji39
2020-04-26 12:35:50 +08:00
找个附近学校的爬
loveyou1
2020-04-26 12:47:10 +08:00
@miekion 今日校园基本该有的都有了
onion606
2020-04-26 13:51:12 +08:00
事实上直接拿到数据库权限会不会更好,如果学校同意的话,如果你的用户量够多…… 自己爬半天爬不到啥,把那仅剩的资源给搞崩溃了不是更亏……搞不好还要被骂一通收个处分……

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/666120

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX