• 关于

    web?spider

    的搜索结果

问题

连续三天CPU100%,上传日志信息请求帮分析是什么原因?

小狗子二b 2019-12-01 21:16:58 9594 浏览量 回答数 3

问题

启动tomcat时候报错,坐等大神指点迷津?报错

爱吃鱼的程序员 2020-06-08 19:22:24 0 浏览量 回答数 1

问题

启动tomcat时报错,在线等大神指点迷津?报错

爱吃鱼的程序员 2020-06-08 19:22:02 0 浏览量 回答数 1

万券齐发助力企业上云,爆款产品低至2.2折起!

限量神券最高减1000,抢完即止!云服务器ECS新用户首购低至0.95折!

回答

Re哪位帮忙做个HTML页面,备案用的,送33元代金卷 论坛应当是PHP的吧?打开首页( index.php )在最前面 <?php 后面添加下面的代码。 这样直接打开是401错误,搜索引擎的爬虫看到的是正常的页面,别人在百度,谷歌啥的搜索都可以正常打开你的网站。 代金卷就不用了! function is_spider() {     $arr_flag_robot = array(        'googlebot',        'mediapartners-google',        'baiduspider ',        'msnbot',        'yodaobot',        'yahoo! slurp;',        'yahoo! slurp china;',        'iaskspider',        'sogou web spider',        'sogou push spider'        );    if (isset($_SERVER['HTTP_USER_AGENT'])) {         if (preg_match("/(" . implode('|', $arr_flag_robot) . ")/i", $_SERVER['HTTP_USER_AGENT'], $matches)) return $matches[0];    } else {        return false;    }} function is_search() {     $arr_flag_search = array(        'google.com',        'baidu.com',        '其他你需要允许链接到本站的域名.com'        );    if (isset($_SERVER['HTTP_REFERER'])) {        // 从HTTP_USER_AGENT中查找关键字        if (preg_match("/(" . implode('|', $arr_flag_search) . ")/i", $_SERVER['HTTP_REFERER'], $matches)) return $matches[0];    } else {        return false;    }}if( !( is_spider() || is_search() ) ){    header('HTTP/1.1 401 Unauthorized');     header('Status: 401 Unauthorized', false, 401);    echo '401 Unauthorized';    return; }

ecrane 2019-12-01 23:37:30 0 浏览量 回答数 0

问题

我在用webmagic抓取https网站时报错?报错

爱吃鱼的程序员 2020-06-10 13:37:24 0 浏览量 回答数 1

回答

Apache 服务的日志文件,默认情况下主要有两种 /var/log/httpd/access_log 记录用户访问网站的记录信息/var/log/httpd/error_log 记录用户错误请求的信息,包括 Web 服务启动或运行过程中的问题,比如网页找不到、文件权限设置不正确等。    以下我们就介绍下 Apache 服务日志的分析和优化: Apache 服务日志的分析 Apache 服务日志的优化 Apache 服务日志的分析 Apache 的访问日志默认存放在 Apache 安装目录的 logs 目录下,名称为 access.log,具体位置可以在 httpd.conf 或 Apache 安装目录下的 conf/vhosts/ 目录中的站点配置文件**.conf 中进行指定 例如日志格式为 : 123.118.235.44 - - [21/Jan/2015:20:23:53 +0800] "GET /info.php?=PHPE9568F34-D428-11d2-A769-00AA001ACF42 HTTP/1.1" 200 2524 各字段说明        项目      样例        客户端 IP     123.118.235.44        由客户端 identd 进程判断的 RFC1413 身份(identity)    -        注意:输出中的符号 "-" 表示此处的信息无效。除非在严格 控制的内部网络中,此信息通常很不可靠,不应该被使用。只有在将 IdentityCheck 指令设为 On 时,Apache 才会试图得到这项信息。        记录用户HTTP的身份验证    -        服务器完成请求处理时的时间    [21/Jan/2015:20:23:53 +0800]格式:[日/月/年:时:分:秒 时区]          请求方式,请求资源,协议   GET /info.php?=PHPE9568F34-D428-11d2-A769-00AA001ACF42 HTTP/1.1        协议状态码     200        服务器向客户端发送的字节数   2524 以下列举一些命令便于快速分析日志: 1、获得访问前 10 位的 IP 地址 cat access.log|awk '{print $1}'|sort|uniq -c|sort -nr|head -10 2、访问次数最多的文件或页面,取前 10 cat access.log|awk '{print $11}'|sort|uniq -c|sort -nr|head -10 cat access.log|awk '{counts[$(11)]+=1}; END {for(url in counts) print counts[url], url}'  3、统计此日志文件中所有的流量 cat access.log |awk '{sum+=$10} END {print sum/1024/1024/1024 "G"}' 4、列出输出大于 200000byte (约200kb) 的 exe 文件以及对应文件发生次数 cat access.log |awk '($10 > 200000 && $7~/\.exe/){print $7}'|sort -n|uniq -c|sort -nr|head -100  5、如果日志最后一列记录的是页面文件传输时间,则有列出到客户端最耗时的页面 cat access.log |awk '($7~/\.php/){print $NF " " $1 " " $4 " " $7}'|sort -nr|head -20   6、列出最最耗时的页面(超过 60 秒的)的以及对应页面发生次数 cat access.log |awk '($NF > 60 && $7~/\.php/){print $7}'|sort -n|uniq -c|sort -nr|head -20 7.列出传输时间超过 30 秒的文件 cat access.log |awk '($NF > 30){print $7}'|sort -n|uniq -c|sort -nr|head -20 8、统计 404 的连接 awk '($9 ~/404/)' access.log | awk '{print $9,$7}' | sort |uniq -c 结果太多就看一下前 10 awk '($9 ~/404/)' access.log | awk '{print $9,$7}' | sort |uniq -c |sort -nr | head -10   9、统计 HTTP Status cat access.log |awk '{print $9}'|sort|uniq -c|sort -rn   10、蜘蛛分析查看是哪些蜘蛛来访问过。 cat access.log |awk '{print $12}' | grep -iE 'bot|crawler|slurp|spider' |sort |uniq -c 查看正在来访的蜘蛛 /usr/sbin/tcpdump -i eth1 -l -s 0 -w - dst port 80 | strings | grep -i user-agent | grep -iE 'bot|crawler|slurp|spider' Apache 服务日志的优化 在网站逐渐成规模后,Apache 访问日志的记录量(文件大小)会达到数 GB 大小。 ECS服务器的磁盘盘容量有限(根据购买大小而定),如果不进行优化,Apache 的访问日志文件在网站运行一段时间(几周)之后可能会占去系统盘容量的一大部分比例。 由于日志文件是纯文本文件,可以考虑通过压缩日志文件,这样备份下来的日志文件可以减小到数十或数百 MB,可以大大减小磁盘空间的浪费。 1、可以通过修改 /etc/logrotate.d/httpd 文件来实现压缩 Apache 日志的功能。 注意:以实际文件路径为准 [root@www ~]# vim /etc/logrotate.d/httpd /var/log/httpd/*log { missingok notifempty compress sharedscripts delaycompress postrotate /sbin/service httpd reload > /dev/null 2>/dev/null || true endscript } 注意:compress 参数就是指定 Apache 通过 gzip 压缩转储日志 2、也可以配置 Apache 日志自动分割,需要修改 Apache 的配置文件,如 httpd.conf: 注意:以实际需要配置的站点配置文件为准 默认配置为: CustomLog "/www/web_logs/domain_access_log" common ErrorLog "/www/web_logs/domain_error_log" 将其改为: ErrorLog "| /usr/sbin/rotatelogs /www/web_logs/%Y_%m_%d_domain_error_log 86400 480"    CustomLog "| /usr/sbin/rotatelogs /www/web_logs/%Y_%m_%d_domain_access_log 86400 480" common 以上两行语句会使 Apache 每天生成一个 error_log 和 access_log,方便您检查日志,也便于您备份网站日志。 修改后重启 Apache 服务即可生效。 注意:rotatelogs 路径需根据用户实际情况修改,实际路径一般可通过 which rotatelogs 命令查看  rotatelogs 配置语法解释: rotatelogs [ -l ] logfile [ rotationtime [ offset ]] | [ filesizeM ]  选项 -l 使用本地时间代替GMT时间作为时间基准。注意:在一个改变GMT偏移量(比如夏令时)的环境中使用-l会导致不可预料的结果。 logfile 它加上基准名就是日志文件名。如果logfile中包含”%”,则它会被视为用于strftime()的格式字符串;否则它会被自动加上以秒为单位的”.nnnnnnnnnn”后缀。这两种格式都表示新的日志开始使用的时间。 rotationtime 日志文件滚动的以秒为单位的间隔时间。 offset 相对于UTC的时差的分钟数。如果省略,则假定为”0″并使用UTC时间。比如,要指定UTC时差为”-5小时”的地区的当地时间,则此参数应为”-300″。 filesizeM 指定以filesizeM文件大小滚动,而不是按照时间或时差滚动。

KB小秘书 2019-12-02 01:28:13 0 浏览量 回答数 0

问题

怎样查看ECS Linux 系统 Apache 服务日志

boxti 2019-12-01 21:55:01 1468 浏览量 回答数 0

问题

web调用后台程序spring无法注入问题

a123456678 2019-12-01 20:20:44 937 浏览量 回答数 1

问题

web调用后台程序spring无法注入问题

a123456678 2019-12-01 20:21:20 933 浏览量 回答数 1

回答

拉勾 这里分析以拉勾网上的数据为准,通过使用Go语言编写一个拉勾网岗位的爬虫,抓取Go语言的所有岗位,来进行分析。正好我们也是找Go语言工作,顺便用Go语言练练手。 该爬虫比较简单,只需要根据拉勾网的搜索,然后一页页的爬取搜索结果,把结果整理成Excel输出即可。这里我们选取了岗位名称、工作地点、薪水以及招聘公司这几个元素进行爬取,收集这些信息进行分析。 本次分析,爬取了拉勾网上所有Go语言岗位,一共30页,450个岗位进行分析,所以结果也是很有代表性的。 工作地点 从上图来看,450个Go语言的岗位,北京最多,占了186个,其次是上海83个,深圳52个,杭州31个,所以找Go语言的工作还是去北京、上海、深圳这些一线大城市,尤其是北京,一枝独秀,说明Go语言在北京的发展还是非常好的,学习和分享氛围也不错。 招聘公司 该图表选择了一些招聘Go语言岗位多的公司进行分析,发现其中最多的是瓜子二手车,一个公司发布了19个Go语言开发的岗位,估计整个公司都快转Go语言了。 其次是滴滴公司,一共有13个在招聘Go语言的岗位,也是非常多了,看来滴滴对Go语言的推动力度很大。 除此之外,美团、百度、UCloud以及腾讯等公司都有3-5个Go语言的岗位在招聘,说明这些公司也陆陆续续开始用Go语言做一些适合的业务。 薪水分布 薪水分布分析也过滤了分布比较少的区间,保留了主要的薪水区间。 从图表上看薪水开到15K-30K的Go语言岗位有71个,是岗位最多的薪水分布;其次是15K-25K的占51个;10K-20K的有49个。基本上一个Go语言开发都是上万。 此外,20K以上的Go语言岗位有89个,占总共450个岗位的近20%;25K以上的有31个,也占了总岗位的7%左右,比例也不算太低。 所以从这个看,Go语言做好了,20K以上也是非常轻松,最多可以开到50K。 经验要求 这个我保留了,没有分析,留给大家试试,看是1-3年的多,还是3-5年的多。 源代码 该代码只可用于学习研究之用,不可用于其他用途。 该爬取拉勾职位的Go语言爬虫,基于pholcus这个爬虫框架编写,是一个pholcus的爬取拉勾职位的规则库,大家使用的时候和正常的pholcus规则库是一样的,import导入引用即可。 package main import( "github.com/henrylee2cn/pholcus/exec" _ "flysnow.org/hello/lib" ) func main() { exec.DefaultRun("web") } 启动使用Web的方式进行启动。启动后可以看到一个Web网页,也就是浏览器里打开 http://localhost:9090/,选择 单机模式运行,勾选左侧的拉勾规则,然后选择输出Excel格式,记得线程不要开太多,2个即可,暂停时间5000ms,防止被拉勾的反爬虫机制拦截。 然后等待一会,就会抓取完毕,获得一个包含所有职位的Excel输出,根据这个输出的Excel结果分析即可。 完整的拉勾爬虫规则如下: package lib // 基础包 import ( "github.com/henrylee2cn/pholcus/app/downloader/request" //必需 "github.com/henrylee2cn/pholcus/common/goquery" //DOM解析 . "github.com/henrylee2cn/pholcus/app/spider" //必需 "strings" "net/http" ) //修改这个为其他岗位的,可以爬取其他岗位的数据 const positionURL = "https://www.lagou.com/zhaopin/go/?filterOption=3" func init() { header.Add("Accept","text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8") header.Add("Accept-Encoding","gzip, deflate, br") header.Add("Accept-Language","zh-CN,zh;q=0.8,en;q=0.6,fr;q=0.4,tr;q=0.2,zh-TW;q=0.2") header.Add("Connection","keep-alive") header.Add("Cookie","user_trace_token=20170910220432-f801c133-9630-11e7-8e11-525400f775ce; LGUID=20170910220432-f801c565-9630-11e7-8e11-525400f775ce; index_location_city=%E5%85%A8%E5%9B%BD; JSESSIONID=ABAAABAAADEAAFI27EBBC4DCA6B9DBD97414B0004A32D4F; TG-TRACK-CODE=index_navigation; _gat=1; PRE_UTM=; PRE_HOST=; PRE_SITE=https%3A%2F%2Fwww.lagou.com%2Fzhaopin%2Fgo%2F3%2F%3FfilterOption%3D2; PRE_LAND=https%3A%2F%2Fwww.lagou.com%2Fzhaopin%2Fgo%2F4%2F%3FfilterOption%3D3; SEARCH_ID=418a46d847344429b67029bc1470f19c; _gid=GA1.2.1008155537.1505828050; Hm_lvt_4233e74dff0ae5bd0a3d81c6ccf756e6=1505052272,1505828050; Hm_lpvt_4233e74dff0ae5bd0a3d81c6ccf756e6=1505830015; _ga=GA1.2.319466696.1505052272; LGSID=20170919220506-8a4a46e3-9d43-11e7-99b2-525400f775ce; LGRID=20170919220655-cb047879-9d43-11e7-99b2-525400f775ce") header.Add("DNT","1") header.Add("Host","www.lagou.com") header.Add("Referer","https://www.lagou.com/") header.Add("Upgrade-Insecure-Requests","1") header.Add("User-Agent","Mozilla/5.0 (Macintosh; Intel Mac OS X 9_3_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3112.113 Safari/535.36\"") lagou.Register() } var lagou = &Spider{ Name:"拉勾-岗位", Description:"拉勾上的全部岗位【https://www.lagou.com】", EnableCookie:true, NotDefaultField:true, RuleTree:lagouRuleTree, } var header = http.Header{} var lagouRuleTree = &RuleTree{ Root: func(ctx *Context) { ctx.AddQueue(&request.Request{ Url:positionURL, TryTimes:10, Rule:"requestList", Header:header, }) }, Trunk:map[string]*Rule{ "requestList":{ ParseFunc: func(ctx *Context) { header.Set("Referer",ctx.Request.Url) nextSelection:=ctx.GetDom().Find("div.pager_container").Find("a").Last(); url,_:=nextSelection.Attr("href") if len(url)!=0 && strings.HasPrefix(url,"http"){ ctx.AddQueue(&request.Request{ Url:url, TryTimes:10, Rule:"requestList", Priority:1, Header:header, }) } ctx.Parse("outputResult") }, }, "outputResult":{ ItemFields:[]string{ "岗位", "薪水", "工作地点", "公司", }, ParseFunc: func(ctx *Context) { dom:=ctx.GetDom() dom.Find("div.list_item_top").Each(func(i int, selection *goquery.Selection) { jobName:=selection.Find("div.p_top").Find("h3").Text() city:=selection.Find("div.p_top").Find("em").Text() city=strings.Split(city,"·")[0] salay:=selection.Find("div.p_bot").Find("span.money").Text() company:=selection.Find("div.company").Find("a").Text() ctx.Output(map[int]interface{}{ 0: jobName, 1:salay, 2:city, 3:company, }) }) }, }, }, } 原文链接

有只黑白猫 2020-01-09 11:04:41 0 浏览量 回答数 0
阿里云大学 云服务器ECS com域名 网站域名whois查询 开发者平台 小程序定制 小程序开发 国内短信套餐包 开发者技术与产品 云数据库 图像识别 开发者问答 阿里云建站 阿里云备案 云市场 万网 阿里云帮助文档 免费套餐 开发者工具 企业信息查询 小程序开发制作 视频内容分析 企业网站制作 视频集锦 代理记账服务 企业建站模板