在集群上搭建搜索引擎的每一步(更新中)

来源:互联网 发布:淘宝女围巾推荐知乎 编辑:程序博客网 时间: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版本的,需要执行第二个命令。

原创粉丝点击