国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

中北大學(xué) - 信息對抗大三下學(xué)習(xí)課程設(shè)計(爬取招標(biāo)網(wǎng)站,進行招標(biāo)分析,數(shù)據(jù)保存execl中)

這篇具有很好參考價值的文章主要介紹了中北大學(xué) - 信息對抗大三下學(xué)習(xí)課程設(shè)計(爬取招標(biāo)網(wǎng)站,進行招標(biāo)分析,數(shù)據(jù)保存execl中)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1. 題目描述

中北大學(xué)信息安全技術(shù)爬蟲課程設(shè)計
題目 5:招投標(biāo)信息分析系統(tǒng) (20050441 2005031113)

要求:文檔內(nèi)容至少包含系統(tǒng)結(jié)構(gòu)、功能模塊圖、功能流程圖、數(shù)據(jù)流圖。實現(xiàn)語言不限。自動訪問http://www.ccgp.gov.cn/獲取信息

子題目 1:網(wǎng)絡(luò)爬蟲獲取招標(biāo)信息 要求:獲取數(shù)據(jù)數(shù)量大于 2 萬條,自定義多媒體格式(包括圖片、聲音、pdf 文件)保存在數(shù)據(jù)庫中。關(guān)鍵字用例可自定義。統(tǒng)計下載數(shù)據(jù),過濾數(shù)據(jù)。能顯示、查找數(shù)據(jù)信息。每 24 小時采集一次。

子題目 2:網(wǎng)絡(luò)爬蟲獲取中標(biāo)信息 要求:獲取數(shù)據(jù)數(shù)量大于 2 萬條,自定義多媒體格式(包括圖片、聲音、pdf 文件)保存在數(shù)據(jù)庫中。關(guān)鍵字用例可自定義。統(tǒng)計下載數(shù)據(jù),過濾數(shù)據(jù)。能顯示、查找數(shù)據(jù)信息。每 24 小時采集一次。

子題目 3:針對某一地區(qū)發(fā)出的招標(biāo)信息進行分析,對該地區(qū)可實現(xiàn)畫像,自動分析出該地區(qū)的招標(biāo)特點及經(jīng)濟發(fā)展水平

子題目 4:對獲取到的 pdf 文件進行解碼,數(shù)據(jù)保存入數(shù)據(jù)庫中,在數(shù)據(jù)庫中增刪改查??啥鄺l件查詢。

這份源代碼實現(xiàn)的是子題目 1 和子題目 3

2. 項目細(xì)節(jié)分析

此項目中的路徑均是絕對路徑,需要根據(jù)實際項目位置修改。 修改完路徑后點擊 autoSpider 即可運行

定時爬取任務(wù)思路

24小時爬取功能實現(xiàn)
使用Windows系統(tǒng)自帶的任務(wù)計劃程序來實現(xiàn)定時執(zhí)行Python程序的功能。具體操作步驟如下:

打開“任務(wù)計劃程序”,可以在Windows搜索欄中輸入“任務(wù)計劃程序”來打開。

在左側(cè)面板中找到“任務(wù)計劃程序庫”,右鍵點擊并選擇“創(chuàng)建任務(wù)”。

在彈出的對話框中,輸入任務(wù)名稱并勾選“使用最高權(quán)限運行”。

切換到“觸發(fā)器”選項卡,點擊“新建”,設(shè)置觸發(fā)器的具體時間和頻率,如每天、每周、每月等。

切換到“操作”選項卡,點擊“新建”,在“程序或腳本”一欄中輸入bat文件路徑

點擊“確定”保存設(shè)置,任務(wù)計劃程序會自動執(zhí)行Python程序,可以在“歷史記錄”中查看執(zhí)行情況。
中北大學(xué) - 信息對抗大三下學(xué)習(xí)課程設(shè)計(爬取招標(biāo)網(wǎng)站,進行招標(biāo)分析,數(shù)據(jù)保存execl中)

避免多次爬取數(shù)據(jù)重復(fù)問題

為了避免爬取到重復(fù)信息,這里再項目中創(chuàng)建了log.txt文件用來記錄爬蟲爬取的最新狀態(tài),如果今日的爬蟲爬取到日志信息狀態(tài)時,說明已經(jīng)把最新的信息爬取完畢,直接退出爬蟲并且更新信息即可

所以可以分析出,這個項目如果這樣設(shè)計的話是不支持多線程的
中北大學(xué) - 信息對抗大三下學(xué)習(xí)課程設(shè)計(爬取招標(biāo)網(wǎng)站,進行招標(biāo)分析,數(shù)據(jù)保存execl中)

網(wǎng)站結(jié)構(gòu)

公開招標(biāo)網(wǎng)站信息比較簡單,可以直接通過GET方法獲取。

我使用BS4進行解析,因為不同地方的招標(biāo)信息細(xì)節(jié)結(jié)構(gòu)可能不一樣,但是都是存在同一個div標(biāo)簽下

根據(jù)爬取信息確認(rèn)招標(biāo)地區(qū)

這里選擇優(yōu)先級不同的方式統(tǒng)計,掃描爬取到的信息,按照優(yōu)先級統(tǒng)計地區(qū)出現(xiàn)的次數(shù),最后根據(jù)次數(shù)最多的城市的省份劃分區(qū)域

這個項目使用了一個比較大的字典保存信息
中北大學(xué) - 信息對抗大三下學(xué)習(xí)課程設(shè)計(爬取招標(biāo)網(wǎng)站,進行招標(biāo)分析,數(shù)據(jù)保存execl中)

3. 項目代碼

由于代碼比較多,這里只展示部分,完整項目Github上

from lxml import etree
from Spider.Seleium.msg_xpath import dialog
from Spider.Seleium.tool import unit_tool
from Spider.Seleium.tool import save
import openpyxl as op

# 多線程爬蟲
from queue import Queue


def setup():
    # 打開保存文件
    wb = op.load_workbook('C:\\Users\\30309\\Desktop\\GovSpider\\Spider\\Seleium\\data.xlsx')

    # print(wb.get_named_ranges())  # 輸出工作頁索引范圍
    # print(wb.get_sheet_names())  # 輸出所有工作頁的名稱
    # 取第一張表
    # ws = wb.get_sheet_names()
    # table = wb.get_sheet_by_name(ws[0])
    table = wb.active
    # print(table.title)  # 輸出表名
    nrows = table.max_row  # 獲得行數(shù)
    ncol = table.max_column  # 獲得行數(shù)
    print(nrows, ncol)

    # 讀取配置文件
    head, endLine = save.readLog()

    # 從配置文件中獲取是否添加頭部信息
    have_head = False
    if head.find('True') != -1:
        have_head = True

    dialog_flag = False
    prevLine = []
    end = False
    # 爬取第1到第25頁數(shù)據(jù)
    for page in range(1, 25):
        root = f'http://www.ccgp.gov.cn/cggg/zygg/gkzb/index_{page}.htm'
        html = etree.HTML(unit_tool.get_html(root))
        paths = html.xpath(dialog.href)
        for path in paths:
            print(dialog.page_root + path)
            page_msg = unit_tool.get_html(dialog.page_root + path)

            list_bs4 = unit_tool.bs4Msg(page_msg)
            if len(list_bs4) == 0:
                continue

            bs4 = list_bs4[0]
            msg = unit_tool.bs4ToStr(bs4.select('td'))
            have_file = unit_tool.haveFile(msg)
            head, val = unit_tool.splitList(msg)
            unit_tool.findCity(val)
            if have_file:
                file_id = unit_tool.getFile(bs4)
                unit_tool.insertFile(file_id, val)
                # print(file_id)
                for sub_url in file_id:
                    file_url = dialog.download_root + sub_url
                    # print(file_url)
            if not have_head:
                # 所有文件寫入頭,頭只寫一次
                save.InsertExcel(table, head, nrows)
                nrows += 1
                have_head = True
            # 寫入數(shù)據(jù)
            if endLine.find(str(val)) != -1:
                end = True
                break
            if not dialog_flag:
                prevLine = val
                dialog_flag = True
            save.InsertExcel(table, val, nrows)
            nrows += 1
        if end:
            prevLine = ':'.join(endLine.split(':')[1:])
            print("Dialog: 今日數(shù)據(jù)爬取完畢")
            break

    # print("DEBUG獲取完成")

    # 寫入配置文件
    save.writeLog(have_head, prevLine)

    wb.save('data.xlsx')

4. 運行截圖

中北大學(xué) - 信息對抗大三下學(xué)習(xí)課程設(shè)計(爬取招標(biāo)網(wǎng)站,進行招標(biāo)分析,數(shù)據(jù)保存execl中)文章來源地址http://www.zghlxwxcb.cn/news/detail-505643.html

到了這里,關(guān)于中北大學(xué) - 信息對抗大三下學(xué)習(xí)課程設(shè)計(爬取招標(biāo)網(wǎng)站,進行招標(biāo)分析,數(shù)據(jù)保存execl中)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 【期末復(fù)習(xí)】北京郵電大學(xué)《數(shù)字內(nèi)容安全》課程期末復(fù)習(xí)筆記(2. 信息隱藏與數(shù)字水印)

    【期末復(fù)習(xí)】北京郵電大學(xué)《數(shù)字內(nèi)容安全》課程期末復(fù)習(xí)筆記(2. 信息隱藏與數(shù)字水印)

    【相關(guān)鏈接】 【期末復(fù)習(xí)】北京郵電大學(xué)《數(shù)字內(nèi)容安全》課程期末復(fù)習(xí)筆記(1. 緒論) 【期末復(fù)習(xí)】北京郵電大學(xué)《數(shù)字內(nèi)容安全》課程期末復(fù)習(xí)筆記(3. 文本安全) 【期末復(fù)習(xí)】北京郵電大學(xué)《數(shù)字內(nèi)容安全》課程期末復(fù)習(xí)筆記(4. 多媒體安全) 【期末復(fù)習(xí)】北京郵電

    2024年02月09日
    瀏覽(32)
  • 浙江理工大學(xué)數(shù)字電子技術(shù)課程設(shè)計

    浙江理工大學(xué)數(shù)字電子技術(shù)課程設(shè)計

    班級: ????? 20 計算機科學(xué)與技術(shù)( 3 )班 ???????? 學(xué)號: ????? ???????2020329621193 ?????????????? 姓名: ????? ?????????? 楊正龍 ?? ???????????????? 序號: ???????????????3 — 22 ??????????????????? ? 浙江理工大學(xué)本科課

    2024年02月12日
    瀏覽(18)
  • 南京航空航天大學(xué)民航管理系統(tǒng)課程設(shè)計

    趁著最近備戰(zhàn)c++實習(xí),通過以前幫朋友寫的課設(shè)復(fù)習(xí)一下c++,后面附有各個模塊的功能實現(xiàn)。 建議通過多文件封裝各個類的功能。 1.總體描述 : 本程序?qū)崿F(xiàn)對民航飛行與地圖管理系統(tǒng)的簡單操作。 2.程序菜單功能: 地圖記錄是一個數(shù)據(jù)庫列表,每一個記錄包含一個城市的信

    2024年02月08日
    瀏覽(21)
  • 西南交通大學(xué) 計算機組成原理實驗課程設(shè)計

    西南交通大學(xué) 計算機組成原理實驗課程設(shè)計

    ?代碼部分: 波形圖部分: (上圖Load為2節(jié)拍,我之前寫錯了。。。這里忘了改了)

    2024年02月13日
    瀏覽(48)
  • C++面向?qū)ο蟪绦蛟O(shè)計-北京大學(xué)-郭煒【課程筆記(四)】

    C++面向?qū)ο蟪绦蛟O(shè)計-北京大學(xué)-郭煒【課程筆記(四)】

    開始課程:P11 1_1. this指針 課程鏈接:程序設(shè)計與算法(三)C++面向?qū)ο蟪绦蛟O(shè)計 北京大學(xué) 郭煒 課程PPT:github提供的對應(yīng)課程PPT C++是沒有自身編譯器的,需要使用C語言的編譯器,所以C++在編譯時需要把語言轉(zhuǎn)換為對應(yīng)的C語言。 實例1: C++程序到C程序的翻譯:(下圖好理解,

    2024年02月22日
    瀏覽(23)
  • C++面向?qū)ο蟪绦蛟O(shè)計-北京大學(xué)-郭煒【課程筆記(三)】

    C++面向?qū)ο蟪绦蛟O(shè)計-北京大學(xué)-郭煒【課程筆記(三)】

    開始課程:P7 2_2. 構(gòu)造函數(shù) 課程鏈接:程序設(shè)計與算法(三)C++面向?qū)ο蟪绦蛟O(shè)計 北京大學(xué) 郭煒 課程PPT:github提供的對應(yīng)課程PPT 1、成員函數(shù)的一種 名字與類名相同,可以有參數(shù),不能有返回值(void 也不行) 作用是對對象進行初始化,如給成員變量賦初值 如果定義類時沒

    2024年02月19日
    瀏覽(28)
  • 基于Spring Boot的大學(xué)課程排課系統(tǒng)設(shè)計與實現(xiàn)

    基于Spring Boot的大學(xué)課程排課系統(tǒng)設(shè)計與實現(xiàn)

    大學(xué)課程排課是現(xiàn)代教育管理中重要的一環(huán)。目前,傳統(tǒng)的排課方式已經(jīng)無法滿足日益增長的課程需求和學(xué)生個性化的訴求。因此,研究一種基于遺傳算法的大學(xué)課程排課系統(tǒng)是非常必要的。本研究旨在開發(fā)一種基于SpringBoot Vue的大學(xué)課程排課系統(tǒng),并運用遺傳算法優(yōu)化排課

    2024年02月07日
    瀏覽(15)
  • 大學(xué)生課程設(shè)計《基于Spring Boot的新聞發(fā)布系統(tǒng)》包含完整代碼

    一個基于 Spring Boot 的新聞發(fā)布系統(tǒng)的概要和關(guān)鍵代碼部分。您可以根據(jù)這些信息自行完成完整的項目。 一、系統(tǒng)概要 系統(tǒng)分為前端和后端兩部分,前端負(fù)責(zé)展示新聞列表和詳情,后端負(fù)責(zé)提供新聞的發(fā)布、查詢和刪除功能。 后端使用 Spring Boot 框架,內(nèi)置 Tomcat 服務(wù)器,簡化

    2024年02月08日
    瀏覽(35)
  • 《web課程設(shè)計》使用HTML+CSS制作大學(xué)生校園二手交易網(wǎng)站

    《web課程設(shè)計》使用HTML+CSS制作大學(xué)生校園二手交易網(wǎng)站

    ? 【作者主頁——??獲取更多優(yōu)質(zhì)源碼】 ? 【學(xué)習(xí)資料/簡歷模板/面試資料/ 網(wǎng)站設(shè)計與制作】 ? 【web前端期末大作業(yè)——????畢設(shè)項目精品實戰(zhàn)案例】 # 一、?????網(wǎng)站題目 ?? 校園網(wǎng)頁設(shè)計 、學(xué)校班級網(wǎng)頁制作、學(xué)校官網(wǎng)、小說書籍、等網(wǎng)站的設(shè)計與制作。 ???

    2024年02月02日
    瀏覽(26)
  • 智能信息檢索課程設(shè)計

    智能信息檢索課程設(shè)計

    這是一個課程設(shè)計,具體的課設(shè)要求如下: 根據(jù)自己從網(wǎng)上下載的任意文檔集,采用python程序設(shè)計語言,進行 分詞 ,再 去掉停用詞和標(biāo)點符號等 , 生成文檔的詞典 ,接著根據(jù)詞典和文檔內(nèi)容生成 詞項的倒排記錄表(含位置信息) ,然后根據(jù)搜索(多個詞項),對

    2024年02月08日
    瀏覽(21)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包