在集群上搭建搜索引擎的每一步(更新中)
来源:互联网 发布:淘宝女围巾推荐知乎 编辑:程序博客网 时间:2024/05/18 03:26
- 2017-09-13
今天想要在实验室的浪潮集群上搭建自己的搜索引擎系统,目前没有完整的计划,hadoop也暂时没有用到,先解决一些基础问题,比如环境,爬虫之类的问题,然后,搭建hadoop平台,用mapreduce来并行处理网页文档,构建倒排索引表,存到数据库。
1.环境准备
(1)浪潮集群有了自己的账户,普通用户权限。集群本身是python3.1版本,用不惯,在本地下载了python2.7版本,上传到集群,用的软件是:
安装python,命令如下:
tar -zxvf Python-2.7.13.tgzcd Python-2.7.13./configure --prefix=`pwd` #安装到当前路径make #编译make install #安装
(2)由于是在公共集群上操作,没有权限修改配置文件/etc/profile 文件,但是可以修改~/.bashrc 和 ~/.bashprofile 文件,而且当执行命令时,这两个文件后于/etc/profile 文件被系统访问到,所以里面的参数会覆盖/etc/profile 文件的坏境变量设置。我在~/.bashrc 添加了我的账户/python/bin/python2.7 环境变量
vim ~/.bashrc #添加如下代码:export PATH=$PATH:python的安装路径/bin/python2.7#保存并退出source ~/.bashrc #使文件生效python #两次使用python版本不同>>>quit() python2.7>>>quit()
现在环境安装好了,下一步就是爬虫了,但是实验室集群好像不能域名解析,要不就是不呢个访问外网,具体的明天再解决吧。
今天问了实验室的大神,说是集群不能访问外网,只能用自己的电脑把网页中的内容都下载下来,然后用集群进行本地解析了。
- 2017-09-14
在本地python坏境写爬虫,步骤是:
(1)从“百度知道”主页开始爬网页,因为学校网站好像是有反爬虫,只能换个网站了。
(2)依次取出网页中的每个URL,以及打开对应的URL读取里面的内容,存储在本地,相当于本地的每个文件存储的是一个字典,key是URL,value是网页内容;
(2)重复第二个步骤,直到已经没有URL了。但是这是不可能的,以我的电脑的处理能力来说,所以在这里要加一些限制,就抓取100个网页吧。、
使用的python模块:
(1)urllib2 模块:用于抓取网页,可以使用GET 和 POST 两种方式,并且可以发送表单数据。返回网页的html/xml 数据。
(2)urllib2.URLError异常处理,可能会出现链接不存在,服务器无法访问等异常,为了避免程序中断,要except URLError 异常。
(3)BeautifulSoup模块:解析网页数据,就不用使用正则表达式了,使用这个模块的方法来直接解析href标签里面的是数据,拿到需要的url数据;
这个模块的安装:在windows环境下,下载模块,地址:http://www.crummy.com/software/BeautifulSoup/
下载到本地的python安装文件下,shift+鼠标右键,在此处打开命令窗口,执行如下安装命令:
python setup.py buildpython setup.py install
然后再本地IDLE就可以使用了,
如果下载的是BeautifulSoup 4.x版本的,需要执行第二个命令。
- 在集群上搭建搜索引擎的每一步(更新中)
- zookeeper集群在linux上的搭建
- nutch crawl的每一步
- TED:生命的每一步
- 在集群上搭建speedy
- 使用Docker在本地搭建Hadoop分布式集群 的错误总结(持续更新)
- kubernet 在centos 搭建的集群上的实践 -- 《一》
- 每一步
- 每一步
- 在基于docker的Hadoop集群上搭建Spark
- redis在centOS系统上的集群搭建
- 在Centos上搭建Codis的Redis 集群解决方案
- maven+srping+springmvc+mybatis的环境搭建的每一步和代码
- 技术成长经历-努力走好每一步(更新:2007年10月13日)
- 我们都一直行走在出走和回归的轮回里,每一步都是离开,每一步都是回来,每一条离家的路都是回家的路,每一座坟墓都是母亲。
- 汉诺塔如何记录每一步,每个塔上的盘子数
- 使用LVS(Linux Virtual Server)在Linux上搭建负载均衡的集群服务
- 记录我成功路上的每一步
- Angularjs系列之常用内置指令
- 【POJ】1236
- 数据结构
- Android json解析
- hdu 4857 反向拓扑排序+优先队列
- 在集群上搭建搜索引擎的每一步(更新中)
- 数据结构——栈、顺序栈、双栈共享同一栈空间、链式栈
- thinkphp后台获取微信小程序用户信息
- 几种基本的排序算法
- BUG篇 Android AudioRecord 调用startRecording发生错误
- LeetCode
- 1014. 福尔摩斯的约会 (20)--PAT乙级
- UE4:物体查看小功能.
- rsync的应用