Python实现抓取链接/分词/索引/搜索关键词——简单搜索引擎
实验目的是用python编写网络搜索程序,完成对一个特定网站的文本搜索。对站内网页内容进行分词并建立倒排索引结构,通过输入文本词汇,检索出站内所有网页内容中出现过此文本的网页。
流程是:抓取网页链接,分词,建立索引,对关键词分词后进行搜索。
一.链接抓取
由于不是简单地就在一个网站上进行正则匹配,得出结果,要在网站得到链接后,再以新得链接为基准,继续深度抓取,所以设置了以newpages为中间值的循环。
Crawl()引入BeatifulSoup包,用包中函数soup('a'),查找可能含有链接的部分,简单方便。通过判断初始四个字母为http,则把网页链接加入newpages参与循环。
每抓取一个链接,立即建立索引,引用addtoindex()函数。
二.分词
每网页建立索引addtoindex()之前,会先获取文本信息和分词处理,导入jieba包,引用jieba.cut_for_search()函数。
获取文本信息
分词处理
三.建立索引
创建3个链表类型,3个节点类型(括号中表示)。
Linklist(Node):对每一个网页分词后,将词加入此链表
Weblist(Web):把网页按照所拥有的词加入词链表,接在词的后面。
Resultlist(Result):搜索结果加入此链表
以及定义停用词ignorewords=set(['的','但是','然而','能','在','以及','可以','使'])。
四.搜索
输入搜索词汇,分词处理,在Linklist链表遍历,并且进行去重处理。
Python实现抓取链接/分词/索引/搜索关键词——简单搜索引擎相关推荐
- python怎么抓取网页倒计时_python实现的简单窗口倒计时界面实例
本文实例讲述了python实现的简单窗口倒计时界面.分享给大家供大家参考.具体分析如下: 下面的代码通过Tkinter制作windows窗口界面,然后时间了一个简单的倒计时功能,代码可以直接运行 # ...
- Python + PySpider 抓取百度图片搜索的图片
说明 1.PySpider 是一个方便并且功能强大的Python爬虫框架 2.PySpider 依赖于PhantomJS 3.windows平台,PySpider 与64位的Python兼容不太好,需 ...
- Python爬虫抓取考试试题
Python爬虫抓取考试试题 今天做了个小玩意,但觉得挺有意思的,分享给大家.主要是这样的,因为帮妹子寻找考试资料,发现同一本书不同的章节分别在不同的链接中,复制起来实在要命,所以就在想能不能用爬虫实 ...
- 利用 Python 自动抓取微博热搜,并定时发送至邮箱
点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 夜阑卧听风吹雨,铁马冰河入梦来. ...
- python数据抓取
python数据抓取 一.页面分析 二.网页抓取方法 1.正则表达式方法 2.BeautifulSoup 模块 3.lxml 模块 4.各方法的对比总结 三.Xpath选择器 四.CSS选择器 五.数 ...
- python 爬虫抓取心得分享
/** author: insun title:python 爬虫抓取心得分享 blog:http://yxmhero1989.blog.163.com/blog/static/11215795620 ...
- python爬虫论坛代码_如何使用Python爬虫 抓取论坛关键字出现频率!
前言: 之前学习了用python爬虫的基本知识,现在计划用爬虫去做一些实际的数据统计功能.由于前段时间演员的诞生带火了几个年轻的实力派演员,想用爬虫程序搜索某论坛中对于某些演员的讨论热度,并按照日期统 ...
- python爬虫招聘-Python爬虫抓取智联招聘(基础版)
原标题:Python爬虫抓取智联招聘(基础版) 作者:C与Python实战 「若你有原创文章想与大家分享,欢迎投稿.」 对于每个上班族来说,总要经历几次换工作,如何在网上挑到心仪的工作?如何提前为心仪 ...
- 编写Python爬虫抓取豆瓣电影TOP100及用户头像的方法
这篇文章主要介绍了编写Python爬虫抓取豆瓣电影TOP100及用户头像的方法,用到了Python的urllib和urllib2模块,需要的朋友可以参考下 抓取豆瓣电影TOP100 一.分析豆瓣top ...
最新文章
- UnitOfWork以及其在ABP中的应用
- 01-sql优化及索引
- 生成对抗网络系列—ACL-GAN
- 你应该掌握的产品研发管理流程及常见问题处理
- idea快速创建包快捷键大全_idea快捷键大全
- JAVA:Array List和Linked List
- 赠人玫瑰,手有余香, 下面请听仙居义工专题报道
- 错排公式——n封信放入n个信封,要求全部放错,共有多少种放法
- Android error: “Apostrophe not preceded by \” 解决办法
- 解决黑苹果 App Store 无限输入密码的方法
- java网课|static
- win7不能在本地计算机启动防火墙,win7操作中心无法启用防火墙怎么解决
- panda是删除行_pandas删除包含指定内容的行
- 齐岳|聚乙二醇-四氧化三铁-二氢卟吩纳米复合物Fe3O4-PEG-Ce6|肝靶向功能的四氧化三铁Fe3O4纳米粒子
- bibtex类型以及格式要求
- 算法收敛性以及收敛速度的理解
- Android——透明色
- [视觉SLAM十四讲]学习笔记2-关于欧拉角和万向锁
- java中atomic特点,Java中Atomic类的使用分析
- java 鸡尾酒排序_算法渣-排序-冒泡