本站分享:AI、大数据、数据分析师培训认证考试,包括:Python培训Excel培训Matlab培训SPSS培训SAS培训R语言培训Hadoop培训Amos培训Stata培训Eviews培训

完整程序教你怎样利用SAS抓取网页内容

sas培训 cdadata 3771℃

完整程序教你怎样利用SAS抓取网页内容

背景:
搜索引擎对网站的收录,会影响到网站SEO,而目前没找到什么好的工具来统计被收录的情况,也不会其他程序来写爬出,将就着用sas来写(实在大材小用了)。

提取的主要字段:
-URL—页面Title—收录更新时间—排列顺序—URL分类-

下面是代码(后面一部分可直接忽略):

*========================================================================
百度收录情况统计:
1.根据百度搜索结果源代码,提取其中搜索结果;
2.再统计相关页面的收录情况,及新增和删除页面情况;
3.再以文本文件形式发邮件。

-创建时间—创建人————–
2011-08-25  ****

-更新时间—更新人—说明—–
2011-09-14  ****    页面类型处理上使用正则表达式函数处理
2011-09-28  ****    解决头一天未提取收录,比较新增和丢弃的页面比较日期至最近一次提取的数据

-说明—
本程序用于提取百度对网站的收录情况统计,为SEO提供参考,如果网站主要页面(如产品页)未被收录,
需要寻找原因(例如页面相似度太高)以改进。

========================================================================;

options mprint mlogic symbolgen;
%let basicn=100;

%macro _shoulu(website=,dslib=,dsout=);
%*——————————–
宏变量:website 格式yoursite.com,百度查询参数为”site:yoursite.com”
dsout   格式&dslib..yoursite_yymmdd,yymmdd为每次抓取百度搜索结果的日期
说明: pn,rn为百度查询参数,与SAS宏变量无关
*——————————–;
filename baidu url “http://www.mysas.net”;

%*抓取收录的总数量,用于控制读取的页面数;
data _null_;
infile baidu length=len lrecl=5000;
input _t1 $varying5000. len;
if substr(_t1,1,13)='<p id=”page”>’;
total=compress(scan(scan(_t1,-3,”>”),-2,”<“),”找到相关结果个约,”);
call symput(“total”,total);
run;
%put total number searched=&total;
%let n=%eval(&total/&basicn+1);
%put n=&n;

%*利用循环读取百度查询结果的下一页;
%do i=1 %to &n;
%if &i=1 %then %let pnum=0;
%else %let pnum=%eval(%eval(&i-1)*&basicn);
%put pn=&pnum;
%*每次查询结果设为100(参数rn=100);
filename baidu url “http://www.mysas.net”;

转载请注明:数据分析 » 完整程序教你怎样利用SAS抓取网页内容

喜欢 (0)or分享 (0)