今天玩了一下火车头采集,对xpath进行了浅层的了解。第一次知道google浏览器可以直接copy xpath ......
关于同一个ip不能对一个网站采集很多次,以为有什么方法知道自己的网站被采集了,但好像就是在访问页面时获取ip。目前做的网站没有对来访者的ip进行获取,以后可以加上。
目前试过前后截取、正则提取、xpath提取,但有的内容无法采集还不知道原因。正文提取和json提取目前没有试过。
另外,在今天的尝试中如果采集的页面做的分页是常规分页,能够采集到所有分页。但采集页面做的分页是滚动分页目前只能采集到第一页的数据。
以下为获取来访者浏览器信息,来自
http://www.jb51.net/article/50464.htm
http://blog.csdn.net/qq_16559905/article/details/51746330
对获取信息数量进行了删减,其中获取pc信息的函数报错,不知道怎么解决,所以都删了。
关于ip获取,以前都是用网上找的php函数,并不知道用哪种更好,什么情况下用什么最合适。
<!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title>浏览器信息</title> </head> <body> <div id="elInfo"> </div> </body> <script type="text/javascript" src="http://pv.sohu.com/cityjson?ie=utf-8"></script> <script> window.onload = allinfo; function allinfo() { var ip=returnCitySN.cip; var appName = navigator.appName; //浏览器的正式名称 var appVersion = navigator.appVersion; //浏览器的版本号 var cpuClass = navigator.cpuClass; //返回用户计算机的cpu的型号,通常intel芯片返回"x86"(火狐没有) var mimeType = navigator.mimeTypes; // 浏览器支持的所有MIME类型的数组 var platform = navigator.platform; // 浏览器正在运行的操作系统平台,包括Win16(windows3.x) var userLanguage = navigator.userLanguage; // 用户在自己的操作系统上设置的语言(火狐没有) var userAgent = navigator.userAgent; //包含以下属性中所有或一部分的字符串:appCodeName,appName,appVersion,language,platform var systemLanguage = navigator.systemLanguage; // 用户操作系统支持的默认语言(火狐没有) var info = "<table border=1>"; var type = ""; type=myBrowser(); info += "<tr><td>ip:</td><td>" + ip + "</td></tr>"; info += "<tr><td>浏览器类型:</td><td>" + type + "</td></tr>"; info += "<tr><td>浏览器属性信息:</td><td>" + userAgent + "</td></tr>"; info += "<tr><td>浏览器的正式名称:</td><td>" + appName + "</td></tr>"; info += "<tr><td>浏览器的版本号:</td><td>" + appVersion + "</td></tr>"; info += "<tr><td>cpu等级:</td><td>" + cpuClass + "</td></tr>"; info += "<tr><td>浏览器的MIME类型:</td><td>" + mimeType.length + "</td></tr>"; info += "<tr><td>系统平台:</td><td>" + platform + "</td></tr>"; info += "<tr><td>插件的名称:</td><td>" + getPluginName() + "</td></tr>"; info += "<tr><td>屏幕分辨率高度:</td><td>" + window.screen.height + "</td></tr>"; info += "<tr><td>屏幕分辨率宽度:</td><td>" + window.screen.width + "</td></tr>"; info += "<tr><td>颜色质量:</td><td>" + window.screen.colorDepth + "位</td></tr>"; info += "<tr><td>像素:</td><td>" + window.screen.deviceXDPI + "像素/英寸</td></tr>"; info += "</table>"; document.getElementById("elInfo").innerHTML = info; return info; } //获取插件所有的名称 function getPluginName() { var info = ""; var plugins = navigator.plugins; if (plugins.length > 0) { for (i = 0; i < navigator.plugins.length; i++) { info += navigator.plugins[i].name + ";"; } } return info; } //浏览器类型 function myBrowser(){ var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串 var isOpera = userAgent.indexOf("Opera") > -1; //判断是否Opera浏览器 var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera; //判断是否IE浏览器 var isFF = userAgent.indexOf("Firefox") > -1; //判断是否Firefox浏览器 var isSafari = userAgent.indexOf("Safari") > -1; //判断是否Safari浏览器 var isChrome = userAgent.indexOf("Chrome") > -1; //判断是否Chrome浏览器 if (isIE) { var IE5 = IE55 = IE6 = IE7 = IE8 = false; var reIE = new RegExp("MSIE (\\d+\\.\\d+);"); reIE.test(userAgent); var fIEVersion = parseFloat(RegExp["$1"]); IE55 = fIEVersion == 5.5; IE6 = fIEVersion == 6.0; IE7 = fIEVersion == 7.0; IE8 = fIEVersion == 8.0; if (IE55) { return "IE55"; } if (IE6) { return "IE6"; } if (IE7) { return "IE7";} if (IE8) { return "IE8";} } if (isFF) {return "FF";} if (isOpera) {return "Opera";} if (isChrome) {return "Chrome";} if (isSafari) { return "Safari"; } } </script> </html>