网页信息抓取

您所在的位置:网站首页 php获取网页数据 网页信息抓取

网页信息抓取

2023-08-05 23:32| 来源: 网络整理| 查看: 265

 

抓取网页信息时,有一个一直困扰我的问题,那就是有些网页的信息是动态生成的,网页载入后,接着执行js,js从服务器端获取数据后填充到网页,现在这种网页实现特别比较多,归功于ajax技术的使用了,用这种技术生成的网页,单靠一个网址是没办法获取网页的信息,火车采集器在这方面还没有去做什么工作吧,今天问了群里的哥们,他们也有这么方面的经验,特别是TommGG这个牛人,下面是他们的聊天记录,那个艾欧里亚是偶自己,呵呵

TommGG给推荐了第一种方法:

1、   利用firefox的组件

这是TommGG给提供建议,以前使用过firefox,用鼠标选择了页面内容,查看源码就能看到最新的html了,TommGG能想到,他有才。

然后中途杀出个keven(渔夫),keven(渔夫)说把这个问题解决了,可以年收入几百万了,我惊了!!钱对他们怎么那么容易赚??下面是keven(渔夫)的方法:

1. 直接解析这些JS,不执行,从中提取数据,这是最好的方法

   这个方法没想过哦,一直抓html的哦,要是数据直接就在js里用这种方法了,有些网页的js也是在后台生成的。这样的好处估计是可以减少代码量吧,到前台在执行js生成html,速度也不会太慢了吧,没这么做过哦。

2. 让IE执行JS,从IE中可以获取到执行后的HTML代码

   要么说要研究下firefox呢,firefox肯定有这方面的组件可用的。

3. 你的JS数据如果是JSON ,那就好了。

    用ajax技术的网站,内容都是从服务器端返回json,要模仿客户端向服务器端发异步请求?有些网站一进去就是:正在加载。。。

后来聊着聊着就跑题了,关于如何用技术赚钱?关于二奶,等等,有钱人的生活啊,我这菜鸟看着觉得距离好遥远,500万从人家嘴里那么轻易说出来。。。。

 

 

群聊天记录:

艾欧里亚[466026875]  2009-05-19 09:25:04

有个问题,有的网页的内容是延迟载入的,这个怎么抓啊,像这个http://blog.21ic.org/user1/5475/index.html

[TomGG]C%2FVB(124485506)  2009-05-19 09:23:54

http://news.xinhuanet.com/photo/2009-05/15/content_11377265.htm

艾欧里亚[466026875]  2009-05-19 09:26:31

Tomgg,这是?

[TomGG]C%2FVB(124485506)  2009-05-19 09:26:06

傻狐狸

艾欧里亚[466026875]  2009-05-19 09:28:37

就喜欢往洞里钻啊

艾欧里亚[466026875]  2009-05-19 09:30:11

网页时js生成的,怎么抓啊??

[TomGG]C%2FVB(124485506)  2009-05-19 09:30:18

去研究firefox吧

艾欧里亚[466026875]  2009-05-19 09:33:06

是啊,它可以看到最终的html,不知道怎么弄啊

艾欧里亚[466026875]  2009-05-19 09:33:51

要用firefox的组件?

[TomGG]C%2FVB(124485506)  2009-05-19 09:33:07

艾欧里亚[466026875]  2009-05-19 09:38:32

谢谢,知道方向了,问题是不是在于怎么获取最新的dom,而不是一开始载入的dom,这方面用.net的web browser行不行啊,没用过那个

艾欧里亚[466026875]  2009-05-19 09:49:46

tommgg,有这方面的文章推荐下呗,谢了啊!!

[TomGG]C%2FVB(124485506)  2009-05-19 09:49:17

你去查微软研究院的论文

[TomGG]C%2FVB(124485506)  2009-05-19 09:50:00

基于dom树的网页正文提取的模板自动生成

艾欧里亚[466026875]  2009-05-19 09:55:21

哦,看来您真是太有研究了!!太谢谢了啊!

keven(渔夫)(241160990)  2009-05-19 09:56:53

基于DOM基于正则表达式

DOM优点结构清晰,可以用XPATH定位节点,缺点是占用大量内存,要面对非结构完好的html

keven(渔夫)(241160990)  2009-05-19 09:57:55

正则表达式,速度快,不用构造过多的对象缺点是要写烦人的正则表达式

艾欧里亚[466026875]  2009-05-19 10:03:23

其实我想知道怎么获取最新的dom,因为页面载入后又要执行里面的js,就像获得执行完js后的都没

艾欧里亚[466026875]  2009-05-19 10:03:35

执行完js后的dom

keven(渔夫)(241160990)  2009-05-19 10:04:25

1. 直接解析这些JS,不执行,从中提取数据,这是最好的方法 2. 让IE执行JS,从IE中可以获取到执行后的HTML代码

keven(渔夫)(241160990)  2009-05-19 10:05:05

你的JS数据如果是JSON,那就最好了

艾欧里亚[466026875]  2009-05-19 10:09:33

哦,应该是json,呵呵

[lucklrj]php(7691272)  2009-05-19 10:17:53

你解决这个问题,你可以年收入几百万了,

[TomGG]C%2FVB(124485506)  2009-05-19 10:18:10

[lucklrj]php(7691272)  2009-05-19 10:19:27

核心办法就是写个程序实现浏览器解析xml产生一个最终的html 再分析

网络采集(310105089)  2009-05-19 10:20:52

年收入几百万



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3