今天玩了一下火车头采集,对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>
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号