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

【GUI開發(fā)】用python爬YouTube博主信息,并開發(fā)成exe軟件

這篇具有很好參考價值的文章主要介紹了【GUI開發(fā)】用python爬YouTube博主信息,并開發(fā)成exe軟件。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

一、背景介紹

你好,我是@馬哥python說,一名10年程序猿。

最近我用python開發(fā)了一個GUI桌面軟件,目的是爬取相關YouTube博主的各種信息,字段包括:

視頻標題、視頻鏈接、博主名稱、博主鏈接、國家、telegram鏈接、whatsapp鏈接、twitter鏈接、facebook鏈接、instagram鏈接。

以近期某熱門事件為例。

演示視頻:

用python爬YouTube博主,并開發(fā)成GUI桌面軟件

運行截圖:
【GUI開發(fā)】用python爬YouTube博主信息,并開發(fā)成exe軟件,python爬蟲,GUI開發(fā),python,GUI,python爬蟲,YouTube,油管

爬取數(shù)據(jù)截圖:
【GUI開發(fā)】用python爬YouTube博主信息,并開發(fā)成exe軟件,python爬蟲,GUI開發(fā),python,GUI,python爬蟲,YouTube,油管

實現(xiàn)思路:
通過按指定關鍵詞搜索視頻,通過視頻進入博主的主頁簡介,爬取博主的各種聯(lián)系信息。
并把源碼封裝成exe文件,方便沒有python環(huán)境,或者不懂技術的人使用它。

二、代碼講解

2.1 爬蟲

本爬蟲是通過selenium模擬手工搜索的過程,所以需要提前安裝好chrome瀏覽器和chromedriver驅動。
安裝chrome瀏覽器和chromedriver驅動的過程,請自行解決,不再贅述。
把chromedriver放到exe文件的旁邊(同級目錄下)即可。
展示部分核心代碼:
初始化csv文件:

def init(self):
    with open(f'{self.query}.csv', 'a', newline='', encoding='utf_8_sig') as f:
        writer = csv.writer(f)
        writer.writerow(['視頻標題', '視頻鏈接', '博主名稱', '博主鏈接', '國家', 'telegram鏈接', 'whatsapp鏈接', 'twitter鏈接', 'facebook鏈接', 'instagram鏈接'])

爬博主信息:

# 先解析出所有鏈接
contact_url_els = self.browser.find_elements(By.XPATH, '//*[@id="link-list-container"]/a')
for j in contact_url_els:
    url = j.get_attribute('href')
    if "t.me" in url: # 電報鏈接
        de_url = unquote(url)
        de_url_dict = parse_qs(urlparse(de_url).query)
        url = de_url_dict.get("q")[0]
        telegram_url = url
    if "wa.link" in url or "api.whatsapp.com" in url: # whatsapp鏈接
        de_url = unquote(url)
        de_url_dict = parse_qs(urlparse(de_url).query)
        url = de_url_dict.get("q")[0]
        whatsapp_url = url
    if "twitter.com" in url: # twitter鏈接
        de_url = unquote(url)
        de_url_dict = parse_qs(urlparse(de_url).query)
        url = de_url_dict.get("q")[0]
        twitter_url = url
    if "facebook.com" in url: # facebook鏈接
        de_url = unquote(url)
        de_url_dict = parse_qs(urlparse(de_url).query)
        url = de_url_dict.get("q")[0]
        facebook_url = url
    if "instagram.com" in url: # instagram鏈接
        de_url = unquote(url)
        de_url_dict = parse_qs(urlparse(de_url).query)
        url = de_url_dict.get("q")[0]
        instagram_url = url

2.2 tkinter界面

界面部分代碼:

# 創(chuàng)建主窗口
root = tk.Tk()
root.title('YouTube爬蟲-定制化開發(fā) | 馬哥python說')
# 設置窗口大小
root.minsize(width=850, height=650)

show_list_Frame = tk.Frame(width=800, height=450)  # 創(chuàng)建<消息列表分區(qū)>
show_list_Frame.pack_propagate(0)
show_list_Frame.place(x=30, y=120, anchor='nw')  # 擺放位置

# 滾動條
scroll = tk.Scrollbar(show_list_Frame)
# 放到Y軸豎直方向
scroll.pack(side=tk.RIGHT, fill=tk.Y)

2.3 存日志

軟件運行過程中,會在同級目錄下生成logs文件夾,文件夾內會出現(xiàn)log文件,記錄下軟件在整個運行過程中的日志,方便長時間運行、無人值守,出現(xiàn)問題后的debug。
部分代碼:

class Log_week():
    def get_logger(self):
        self.logger = logging.getLogger(__name__)
        # 日志格式
        formatter = '[%(asctime)s-%(filename)s][%(funcName)s-%(lineno)d]--%(message)s'
        # 日志級別
        self.logger.setLevel(logging.DEBUG)
        # 控制臺日志
        sh = logging.StreamHandler()
        log_formatter = logging.Formatter(formatter, datefmt='%Y-%m-%d %H:%M:%S')
        # info日志文件名
        info_file_name = time.strftime("%Y-%m-%d") + '.log'
        # 將其保存到特定目錄,ap方法就是尋找項目根目錄,該方法博主前期已經(jīng)寫好。
        case_dir = r'./logs/'
        info_handler = TimedRotatingFileHandler(filename=case_dir + info_file_name,
                                                when='MIDNIGHT',
                                                interval=1,
                                                backupCount=7,
                                                encoding='utf-8')
        self.logger.addHandler(sh)
        sh.setFormatter(log_formatter)
        self.logger.addHandler(info_handler)
        info_handler.setFormatter(log_formatter)
        return self.logger

三、軟件演示視頻

演示視頻: 【爬蟲演示】用python爬YouTube博主信息,并開發(fā)成GUI桌面軟件!

四、說明

附完整源碼:【GUI開發(fā)】用python爬YouTube博主信息,并開發(fā)成exe軟件!


我是 @馬哥python說,持續(xù)分享python源碼干貨中!


推薦閱讀:【爬蟲GUI】YouTube評論采集軟件,突破反爬,可無限爬??!文章來源地址http://www.zghlxwxcb.cn/news/detail-692090.html

到了這里,關于【GUI開發(fā)】用python爬YouTube博主信息,并開發(fā)成exe軟件的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

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

領支付寶紅包贊助服務器費用

相關文章

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領取紅包

二維碼2

領紅包