尝试写个爬虫(1)
来源:互联网 发布:伦敦电影学院 知乎 编辑:程序博客网 时间:2024/06/06 02:45
背景知识
URL uniform resource locator 也是平常所说的网页地址。
URL是标准的Internet协议,由协议类型,主机名,资源路径等组成。
格式为: protocol://hostname[:port]/path/[;parameters][?query]
protocal :是协议类型,最常用的是http协议。
hostname:主机地址,既可以用ip也可以用域名,如果是域名,则在实际访问前,会通过本地DNS查询,转换成ip地址。
port:端口号,及资源所采用协议的通信端口,比如http协议默认的是80。
path:用于表示主机中资源的目录信息,通常用“/”隔开。
parameters:用于表示某些协议的特别参数,为可选项。
query:用于表示查询的子串,例如在http中通常可采用此字符串,构造一个get请求,执行服务器上的一个动态网页。注意,这是www交互式技术的基础。
搜索引擎的基础工作是采集最全面的URL信息,并由此构建最全面的资源信息库。这个小爬虫的目的就是设计一个可用的URL中http网址信息收集器,并保存到MySQL中。
搜索引擎一般由信息采集,信息索引和用户检索三部分组成。
信息采集:一般是利用网络爬虫和URL自动下载目标网页,然后再利用分析器,自动分析成html脚本,生成中间信息。在这个过程中,利用http协议,向目标站点请求html文件,下载后执行分析操作,提取出URL,并选择性存储。
此间有两个技术难点:
1.如何获得全面的URL信息?如何高效去重?
2.html文本信息的抽取。由于html是高度自由且非结构化的文本,如何对html解析,如何从网页中挖取隐含和准确的信息是非常困难的。(html5,regular expression)
信息索引
信息索引是把采集到的数据存储起来,并按一定的规则建立索引。以提高检索速度,提升用户体验。(robin就是北大信息管理专业)
索引通常存储在大型数据库中,也可以存放在自定义的文件里。
索引涉及分词,排序,结构分析等技术,由于数据量较大,索引的创建与更新相对较慢。
用户检索
即用户接口的部分,向搜索引擎发出查询命令,这里的涉及页面排序方法,各个搜索引擎不尽相同。(关于搜索引擎也可以参考吴军博士的《数学之美》)
- 尝试写个爬虫(1)
- 尝试写个爬虫(2)
- 尝试写个爬虫(3)
- 尝试写个爬虫(4)
- 尝试写第二个QOpenGLWidget程序 (未完成)
- 写了个小爬虫
- 随手写个node爬虫
- 5个教程教你学会写爬虫!(Python)
- 【爬虫】手把手教你写网络爬虫(1)
- 自己动手写网络爬虫-----(1)
- python写一个爬虫(1)
- 自己写个网络爬虫玩玩
- 写的第一个爬虫……
- 用Swing写个scrapy爬虫图形界面
- 写个爬虫获取全国地区数据
- 我写的第一个图片爬虫
- 写了个简单的爬虫
- scrapy爬虫起步(1)--第一个爬虫程序
- SQL SERVER日期函数
- 内核中断过程
- Hbase深入学习(六) Java操作HBase
- Windows SDK设置控件支持Tab键
- Android之导入源码到eclipse中以及单模块调试
- 尝试写个爬虫(1)
- Solaris 11程序包IPS的发布和使用
- 目标主机不能到达
- 最近将osx升级到10.9,好多软件不能用,如何骗过安装程序
- OA项目之左导航
- Java log code example
- grep之初学探究
- 计算机储存容量计算单位
- 关于vmnet0,vmnet1,vmnet8图解(vmware虚拟机虚拟网络)