| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Python知识库 -> 证书证书证书 -> 正文阅读 |
|
[Python知识库]证书证书证书 |
题目: 题目说明: # 二、数据采集任务场景二(编程开发) ## 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 httpd、filebeat、logstash、csv完成数据采集演示。 ## 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 httpd的access日志文件路径 4)使用采集工具(filebeat)收集apache httpd的access日志数据 5)通过filebeat输出到logstash,在logstash里收集信息,通讯端口是5045 6)通过logstash使用 HTTPD_COMBINEDLOG 正则表达式规则拆分日志数据,从拆分后的日志数据中获取访问者IP 7)通过logstash输出到csv文件中(/home/output/httpd-outfile.csv)。 8)httpd-outfile.csv内容说明:包含访问者IP属性信息。 ## 3、提交的内容 1)apache httpd的配置文件 2)filebeat的配置文件 3)logstash的配置文件 4)csv结果文件 三、3分
四、7分
五、25分
六、15分
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/16 5:57:53- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |