首页 存档 技术 查看内容

个性化推荐系统(三)构建爬虫开发函数基础库

2018-3-30 13:00 |来自: 互联网 358 0

摘要: 构建网络爬虫基础库 就像我们人和人之间认识,握手相识,不同国家的人可以说着不一样的话,但只要说英语这个通用语言,大部分的人都理解。互联网之间的服务器也是一样,它们之间使用socket,http,udp等机器间的“ ...


构建网络爬虫基础库

就像我们人和人之间认识,握手相识,不同国家的人可以说着不一样的话,但只要说英语这个通用语言,大部分的人都理解。互联网之间的服务器也是一样,它们之间使用socket,http,udp等机器间的“语言”进行会话。


做为爬虫,它相当于一个小型浏览器,来模拟人来访问某个网站的链接,使用GET方法告诉对方服务器,要获取什么资源,网页还是文件。


先等一下,在深入讨论抓取网站之前,我们需要对目标网站的目录结构进行一定的了解。

Google,百度们做为公众的搜索引擎,需要遵守robots协议,也就是说被抓取的网站在根下保存一个robots.txt告诉搜索引擎的爬虫,哪些目录可以抓,哪些目录是不允许抓取的,禁止公开。比如网站后台,某些不宜公开的文件。


另外还有一个Sitemap的关键字告诉搜索引擎,网站的目录结果是啥样的。


以下是QQ的robots.txt(http://www.qq.com/robots.txt)内容:


User-agent: *

Disallow:

Sitemap: http://www.qq.com/sitemap_index.xml


我们看到,它是完全公开的。可以让自家的搜狗,Google,百度等们全部抓取,还告诉搜索引擎自己的网站地图(Sitemap)地址,可以更全面的获取内容。


再看看淘宝的robots.txt(http://www.taobao.com/robots.txt


User-agent:Baiduspider

Allow:/article

Allow:/oshtml

Allow:/wenzhang

Disallow:/product/

Disallow:/

User-Agent:Googlebot

Allow:/article

Allow:/oshtml

Allow:/product

Allow:/spu

Allow:/dianpu

Allow:/wenzhang

Allow:/oversea

Disallow:/

User-agent:Bingbot

Allow:/article

Allow:/oshtml

Allow:/product

Allow:/spu

Allow:/dianpu

Allow:/wenzhang

Allow:/oversea

Disallow:/

User-Agent:360Spider

Allow:/article

Allow:/oshtml

Allow:/wenzhang

Disallow:/

User-Agent:Yisouspider

Allow:/article

Allow:/oshtml

Allow:/wenzhang

Disallow:/

User-Agent:Sogouspider

Allow:/article

Allow:/oshtml

Allow:/product

Allow:/wenzhang

Disallow:/

User-Agent:Yahoo! Slurp

Allow:/product

Allow:/spu

Allow:/dianpu

Allow:/wenzhang

Allow:/oversea

Disallow:/

User-Agent:*

Disallow:/

我们看到,淘宝网对不同的搜索引擎的待遇不太一样,但大多数允许抓取文章,对Google,Yahoo等限制规则比较少,对来路不明的爬虫,限制TA们抓取。

感兴趣的朋友可以多试一些网站,一些没有此文件的站点想必是不设限制抓取,比如新浪网。

回来说我们写的爬虫,大部分是想获取某些内容,并不是搜索引擎一样的全部抓取。如果对方网站有robots.txt,可以遵守对方设置的限制,做一个文明的蜘蛛:)

我们使用PHP来写爬虫程序。在PHP中可使用fopen,file,file_get_contens函数获取远端内容。格式如下:


file/fopen/file_get_contents($url)


file和fopen函数需要在php.ini中打开远端访问,file_get_contents函数则是fopen和fclose的封装。


下面是使用file_get_contents来写一个轻量爬虫函数,后面使用DOMDocment来处理HTML标签。代码如下:


声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

相关分类

返回顶部