书证x+1

题目:

题目说明:

# 二、数据采集任务场景二(编程开发) ## 1、数据场景: ### 采集网站 http://117.73.11.244:9090/ ### chrome浏览器启动 启动chrome/opt/google/chrome/google-chrome --no-sandbox ### python开发工具启动 启动pycharm/home/pycharm-community-2020.1.1/bin/pycharm.sh ### 工程目录说明 工程目录是:/root/PycharmProjects/webcrawler ### 编程文件 代码文件路径: /root/PycharmProjects/webcrawler/src/webcrawler.py

题目要求:

2、采集要求 1)使用python采集一个指定网站(http://117.73.9.229:9090/)的首页。 2)使用指定的user-agent值包装http request header 3)采集目标:使用XPath获取顶部菜单栏的新闻公告的超链接地址(URL 4)将结果存放到csv格式的文件里。结果文件路径:/home/output/crawler_result.csv 5)结果文件的要求:存放顶部菜单栏的新闻公告的超链接地址(URL user-agent值: Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.86 Safari/537.36 ## 3、提交的内容 1)代码文件:webcrawler.py 2)采集结果:crawler_result.csv

一、35

#!/usr/bin/env python

# -*- coding: utf-8 -*-

import time

import urllib, time, os, base64, json

import re, sys

from urllib.request import urlopen

from lxml import etree

from urllib import request

import requests

def getPage(base_url):

    try:

        headers = {

            "User-Agent": "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.86 Safari/537.36"}

        req = request.Request(base_url, headers=headers)

        page = urllib.request.urlopen(req)  # 5

        content = page.read().decode("utf-8", "ignore").encode("utf-8",'ignore')

        selector = etree.HTML(content)

        menu_items = selector.xpath("//*[@id=\"head_nav_list\"]/li[5]/a"# 5

        for item in menu_items:

            writefile("/home/output/crawler_result.csv", item.attrib["href"])  # 2

    except Exception as e:  # 3

        print("Failed to read from %s." % base_url)

        print(sys.exc_info())

        return False

def writefile(filename, content):

    try:

        fp = open(filename, 'a') # 5

        fp.write(content + "\n") # 5

        fp.close()  # 5

    except:

        return False

now = time.strftime('%Y-%m-%d %X', time.localtime(time.time()))

try:

    # 5

    url = 'http://117.73.9.229:9090/'

    getPage(url)

except Exception as e:

    info = '%s\nError: %s' % (now, e)

    writefile('Error.log', info)

    print (info)

    time.sleep(1)

二、15

暂无数据

http://www.inspuredu.com/sysNews/list.html

题目:

题目说明:

# 一、数据采集任务场景一(工具定制题) 使用 apache httpdfilebeatlogstashcsv完成数据采集演示。 ## 1、数据场景: ### apache httpd: 运行目录:/app/httpd/ 配置文件:/etc/httpd24/httpd.conf ### filebeat 安装路径:/bigData/tools/filebeat/ 配置文件:/bigData/tools/filebeat/filebeat.yml ### logstash 安装路径:/bigData/tools/logstash/ 配置文件:/bigData/tools/logstash/config/logstash-filebeat-csv.conf

题目要求:

## 2、采集要求 1)修改apache httpd配置文件中的端口为8070,然后重启apache httpd 2)根据apache httpd配置信息能找到access日志文件。并且通过火狐浏览器直接访问http://127.0.0.1:8070网址,产生新的日志数据。 3)在filebeat里配置采集的apache httpdaccess日志文件路径 4)使用采集工具(filebeat)收集apache httpdaccess日志数据 5)通过filebeat输出到logstash,在logstash里收集信息,通讯端口是5045 6)通过logstash使用 HTTPD_COMBINEDLOG 正则表达式规则拆分日志数据,从拆分后的日志数据中获取访问者IP 7)通过logstash输出到csv文件中(/home/output/httpd-outfile.csv)。 8httpd-outfile.csv内容说明:包含访问者IP属性信息。 ## 3、提交的内容 1apache httpd的配置文件 2filebeat的配置文件 3logstash的配置文件 4csv结果文件

三、3

# 主要配置项
Listen 8070
 
# 其他内容省略

四、7分
filebeat.inputs:
 
- type: log
  # to do 
  enabled: true
  # to do
  paths:
    - /app/httpd/logs/error_log
 
filebeat.config.modules: 
  path: ${path.config}/modules.d/*.yml
 
  reload.enabled: false 
 
setup.template.settings:
  index.number_of_shards: 3
 
setup.kibana:
 
output.logstash:
  # to do The Logstash hosts
  hosts: ["localhost:5045"]
 
processors:
  - add_host_metadata: ~
  - add_cloud_metadata: ~

五、25

# Sample Logstash configuration for creating a simple
# Beats -> Logstash -> Elasticsearch pipeline.
 
input {
    # to do
    beats {
            port => 5045
          }
}
filter { 
    # to do
          grok {
                   match => { "message" => "%{HTTPD_COMMONLOG}" }
               }
}
output {
               csv {
                       path => "/home/output/httpd-outfile.csv"
                       fields => ["clientip"]
                       csv_options => {"col_sep" => "  "}
               }
               
    stdout{
        codec => rubydebug
    }
    
}  

六、15

127.0.0.1
::1

题目:

题目说明:

# 二、数据采集任务场景二(编程开发) ## 1、数据场景: ### 采集网站 http://117.73.11.244:9090/ ### chrome浏览器启动 启动chrome/opt/google/chrome/google-chrome --no-sandbox ### python开发工具启动 启动pycharm/home/pycharm-community-2020.1.1/bin/pycharm.sh ### 工程目录说明 工程目录是:/root/PycharmProjects/webcrawler ### 编程文件 代码文件路径: /root/PycharmProjects/webcrawler/src/webcrawler.py

题目要求:

2、采集要求 1)使用python采集一个指定网站(http://117.73.9.229:9090/)的首页。 2)使用指定的user-agent值包装http request header 3)采集目标:使用XPath获取顶部菜单栏的新闻公告的超链接地址(URL 4)将结果存放到csv格式的文件里。结果文件路径:/home/output/crawler_result.csv 5)结果文件的要求:存放顶部菜单栏的新闻公告的超链接地址(URL user-agent值: Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.86 Safari/537.36 ## 3、提交的内容 1)代码文件:webcrawler.py 2)采集结果:crawler_result.csv

一、35

#!/usr/bin/env python

# -*- coding: utf-8 -*-

import time

import urllib, time, os, base64, json

import re, sys

from urllib.request import urlopen

from lxml import etree

from urllib import request

import requests

def getPage(base_url):

    try:

        headers = {

            "User-Agent": "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.86 Safari/537.36"}

        req = request.Request(base_url, headers=headers)

        page = urllib.request.urlopen(req)  # 5

        content = page.read().decode("utf-8", "ignore").encode("utf-8",'ignore')

        selector = etree.HTML(content)

        menu_items = selector.xpath("//*[@id=\"head_nav_list\"]/li[5]/a"# 5

        for item in menu_items:

            writefile("/home/output/crawler_result.csv", item.attrib["href"])  # 2

    except Exception as e:  # 3

        print("Failed to read from %s." % base_url)

        print(sys.exc_info())

        return False

def writefile(filename, content):

    try:

        fp = open(filename, 'a') # 5

        fp.write(content + "\n") # 5

        fp.close()  # 5

    except:

        return False

now = time.strftime('%Y-%m-%d %X', time.localtime(time.time()))

try:

    # 5

    url = 'http://117.73.9.229:9090/'

    getPage(url)

except Exception as e:

    info = '%s\nError: %s' % (now, e)

    writefile('Error.log', info)

    print (info)

    time.sleep(1)

二、15

暂无数据

http://www.inspuredu.com/sysNews/list.html

题目:

题目说明:

# 一、数据采集任务场景一(工具定制题) 使用 apache httpdfilebeatlogstashcsv完成数据采集演示。 ## 1、数据场景: ### apache httpd: 运行目录:/app/httpd/ 配置文件:/etc/httpd24/httpd.conf ### filebeat 安装路径:/bigData/tools/filebeat/ 配置文件:/bigData/tools/filebeat/filebeat.yml ### logstash 安装路径:/bigData/tools/logstash/ 配置文件:/bigData/tools/logstash/config/logstash-filebeat-csv.conf

题目要求:

## 2、采集要求 1)修改apache httpd配置文件中的端口为8070,然后重启apache httpd 2)根据apache httpd配置信息能找到access日志文件。并且通过火狐浏览器直接访问http://127.0.0.1:8070网址,产生新的日志数据。 3)在filebeat里配置采集的apache httpdaccess日志文件路径 4)使用采集工具(filebeat)收集apache httpdaccess日志数据 5)通过filebeat输出到logstash,在logstash里收集信息,通讯端口是5045 6)通过logstash使用 HTTPD_COMBINEDLOG 正则表达式规则拆分日志数据,从拆分后的日志数据中获取访问者IP 7)通过logstash输出到csv文件中(/home/output/httpd-outfile.csv)。 8httpd-outfile.csv内容说明:包含访问者IP属性信息。 ## 3、提交的内容 1apache httpd的配置文件 2filebeat的配置文件 3logstash的配置文件 4csv结果文件

三、3

# 主要配置项
Listen 8070
 
# 其他内容省略

四、7分
filebeat.inputs:
 
- type: log
  # to do 
  enabled: true
  # to do
  paths:
    - /app/httpd/logs/error_log
 
filebeat.config.modules: 
  path: ${path.config}/modules.d/*.yml
 
  reload.enabled: false 
 
setup.template.settings:
  index.number_of_shards: 3
 
setup.kibana:
 
output.logstash:
  # to do The Logstash hosts
  hosts: ["localhost:5045"]
 
processors:
  - add_host_metadata: ~
  - add_cloud_metadata: ~

五、25

# Sample Logstash configuration for creating a simple
# Beats -> Logstash -> Elasticsearch pipeline.
 
input {
    # to do
    beats {
            port => 5045
          }
}
filter { 
    # to do
          grok {
                   match => { "message" => "%{HTTPD_COMMONLOG}" }
               }
}
output {
               csv {
                       path => "/home/output/httpd-outfile.csv"
                       fields => ["clientip"]
                       csv_options => {"col_sep" => "  "}
               }
               
    stdout{
        codec => rubydebug
    }
    
}  

六、15

127.0.0.1
::1

题目:

题目说明:

# 二、数据采集任务场景二(编程开发) ## 1、数据场景: ### 采集网站 http://117.73.11.244:9090/ ### chrome浏览器启动 启动chrome/opt/google/chrome/google-chrome --no-sandbox ### python开发工具启动 启动pycharm/home/pycharm-community-2020.1.1/bin/pycharm.sh ### 工程目录说明 工程目录是:/root/PycharmProjects/webcrawler ### 编程文件 代码文件路径: /root/PycharmProjects/webcrawler/src/webcrawler.py

题目要求:

2、采集要求 1)使用python采集一个指定网站(http://117.73.9.229:9090/)的首页。 2)使用指定的user-agent值包装http request header 3)采集目标:使用XPath获取顶部菜单栏的新闻公告的超链接地址(URL 4)将结果存放到csv格式的文件里。结果文件路径:/home/output/crawler_result.csv 5)结果文件的要求:存放顶部菜单栏的新闻公告的超链接地址(URL user-agent值: Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.86 Safari/537.36 ## 3、提交的内容 1)代码文件:webcrawler.py 2)采集结果:crawler_result.csv

一、35

#!/usr/bin/env python

# -*- coding: utf-8 -*-

import time

import urllib, time, os, base64, json

import re, sys

from urllib.request import urlopen

from lxml import etree

from urllib import request

import requests

def getPage(base_url):

    try:

        headers = {

            "User-Agent": "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.86 Safari/537.36"}

        req = request.Request(base_url, headers=headers)

        page = urllib.request.urlopen(req)  # 5

        content = page.read().decode("utf-8", "ignore").encode("utf-8",'ignore')

        selector = etree.HTML(content)

        menu_items = selector.xpath("//*[@id=\"head_nav_list\"]/li[5]/a"# 5

        for item in menu_items:

            writefile("/home/output/crawler_result.csv", item.attrib["href"])  # 2

    except Exception as e:  # 3

        print("Failed to read from %s." % base_url)

        print(sys.exc_info())

        return False

def writefile(filename, content):

    try:

        fp = open(filename, 'a') # 5

        fp.write(content + "\n") # 5

        fp.close()  # 5

    except:

        return False

now = time.strftime('%Y-%m-%d %X', time.localtime(time.time()))

try:

    # 5

    url = 'http://117.73.9.229:9090/'

    getPage(url)

except Exception as e:

    info = '%s\nError: %s' % (now, e)

    writefile('Error.log', info)

    print (info)

    time.sleep(1)

二、15

暂无数据

http://www.inspuredu.com/sysNews/list.html

题目:

题目说明:

# 一、数据采集任务场景一(工具定制题) 使用 apache httpdfilebeatlogstashcsv完成数据采集演示。 ## 1、数据场景: ### apache httpd: 运行目录:/app/httpd/ 配置文件:/etc/httpd24/httpd.conf ### filebeat 安装路径:/bigData/tools/filebeat/ 配置文件:/bigData/tools/filebeat/filebeat.yml ### logstash 安装路径:/bigData/tools/logstash/ 配置文件:/bigData/tools/logstash/config/logstash-filebeat-csv.conf

题目要求:

## 2、采集要求 1)修改apache httpd配置文件中的端口为8070,然后重启apache httpd 2)根据apache httpd配置信息能找到access日志文件。并且通过火狐浏览器直接访问http://127.0.0.1:8070网址,产生新的日志数据。 3)在filebeat里配置采集的apache httpdaccess日志文件路径 4)使用采集工具(filebeat)收集apache httpdaccess日志数据 5)通过filebeat输出到logstash,在logstash里收集信息,通讯端口是5045 6)通过logstash使用 HTTPD_COMBINEDLOG 正则表达式规则拆分日志数据,从拆分后的日志数据中获取访问者IP 7)通过logstash输出到csv文件中(/home/output/httpd-outfile.csv)。 8httpd-outfile.csv内容说明:包含访问者IP属性信息。 ## 3、提交的内容 1apache httpd的配置文件 2filebeat的配置文件 3logstash的配置文件 4csv结果文件

三、3

# 主要配置项
Listen 8070
 
# 其他内容省略

四、7分
filebeat.inputs:
 
- type: log
  # to do 
  enabled: true
  # to do
  paths:
    - /app/httpd/logs/error_log
 
filebeat.config.modules: 
  path: ${path.config}/modules.d/*.yml
 
  reload.enabled: false 
 
setup.template.settings:
  index.number_of_shards: 3
 
setup.kibana:
 
output.logstash:
  # to do The Logstash hosts
  hosts: ["localhost:5045"]
 
processors:
  - add_host_metadata: ~
  - add_cloud_metadata: ~

五、25

# Sample Logstash configuration for creating a simple
# Beats -> Logstash -> Elasticsearch pipeline.
 
input {
    # to do
    beats {
            port => 5045
          }
}
filter { 
    # to do
          grok {
                   match => { "message" => "%{HTTPD_COMMONLOG}" }
               }
}
output {
               csv {
                       path => "/home/output/httpd-outfile.csv"
                       fields => ["clientip"]
                       csv_options => {"col_sep" => "  "}
               }
               
    stdout{
        codec => rubydebug
    }
    
}  

六、15

127.0.0.1
::1
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值