作者foxzgerald (O⊥M)
看板PHP
标题Re: [请益] 远端网页抓取字串的问题
时间Fri May 18 14:29:08 2007
1F:推 fillmore:web server看到的跟你client直接读取网页的结果会不同 05/18 02:59
server/client 在 internet 上,广义而言,其实是种相对的概念。
若能完全模拟 client/browser 的行为,理论上两者应可看到相同的
结果。
因此,如果想写 robot,让它能够自动抓取、解析网页,那麽最好先
了解 browser 的运作方式--特别是遇到一些 web application 会
判断 client/browser 时特别有用。
用 php 写这种 robot,笔者认为可以分为三种层级:第一级是能够模
拟 browser 的特性,第二级是模拟简单人类的操作方式,第三级是模
拟出真人的操作方式。第一、二级的模拟,其实只要明白 http 即可。
第三级则需要繁复的演算法,如果不是要写啥特殊的 cracker,应该不
需要模拟到这个层级 :P
HTTP 传输的不仅是 HTML 文件,它也被用来传输表单的变数、或是其
他的多媒体内容。除了对处理标的的特性(如:您要处理的是 HTML)
要有所了解之外,还必须了解 HTTP 怎麽传输这些讯息。
网路上刚好找到了一篇介绍 http 的 power point,建议您看一下。
http://msa.vnu.edu.tw/~merlin/932network/8.ppt
此外 wiki 上也有些介绍,以下分别是中文和英文的简介,英文的内容
稍微丰富些。
http://zh.wikipedia.org/w/index.php?title=Http&variant=zh-tw
http://en.wikipedia.org/wiki/Http
另外也可以 google://http header curl 等,找些相关资料
希望以上资讯有所帮助 :)
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.119.199.121
2F:推 fillmore:恩我的确是要模拟 client/browser 的行为 但是这就是我碰 05/18 16:03
3F:→ fillmore:到的问题 05/18 16:03
4F:推 foxzgerald:有办法知道是什麽原因造成看到不同的内容嘛? 05/18 16:12
5F:推 roga:打这麽多字..辛苦了 :P 05/18 19:02