搜狐新闻-时政。http://www.sohu.com/c/8/1460,新闻列表为动态渲染。

首先分析一下,这个动态页面是怎么加载文件的吧。

打开fiddler,然后发现如下请求和相应。

会以json的形式返回。

 

 

通过观察请求包的WebForms,我们可以发现变化的只有page的字段数目。

 

随便打开一个有新闻的网站,发现url如下:http://www.sohu.com/a/272236745_311446

很明显后面的数字是由id和AccountID拼接而成。

所以现在的思路就很清晰了,需要三个模块:

一个模块批量获取id和accountID生成一个用于url中的字符串。

一个模块负责访问对应的新闻网址,用xpath把关键的信息提取出来。

最后一个模块,用redis直接写入。

 

 

源代码如下: