iT邦幫忙

2021 iThome 鐵人賽

DAY 30
0
影片教學

文組生的Python爬蟲之旅系列 第 30

Day 30 工作排程與打包

30天的旅程就要在這邊畫上句點囉~
今天的影片內容為介紹兩個實用的輔助工具—工作排程器與pyinstaller
有了它們,能讓我們執行程式時更加便利,一起來一探究竟吧!

以下為影片中有使用到的程式碼

#請將此程式碼儲存成PTT3.py
import requests, bs4

page = int(input("請輸入想搜尋的頁數:")) 
url_1 = "https://www.ptt.cc"
url_2 = "/bbs/Gossiping/index.html"

counter = 0
number = 0

while counter < page:

    headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.82 Safari/537.36'}
    cookies = {'over18':'1'}
    htmlfile = requests.get(url_1 + url_2, headers = headers, cookies = cookies)
    objsoup = bs4.BeautifulSoup(htmlfile.text, 'lxml')

    articles = objsoup.find_all('div', class_ = 'r-ent')

    for article in articles:

        title = article.find('a')
        author = article.find('div', class_ = 'author')
        date = article.find('div',  class_ = 'date')
    
        if title == None: #防止(本文已被刪除) 的情形
            continue
        else:
            number +=1
            print("文章編號:", number)
            print("文章標題:", title.text)
            print("文章作者:", author.text)
            print("發文時間:", date.text)
            print("="*100)
            
    before = objsoup.find_all('a', class_ = 'btn wide')
    url_2 = before[1].get('href')
    counter += 1
    
input() #如果沒有這個函式,使用工作排程器時執行完會直接關閉CMD視窗

要執行pyinstaller前,必須至CMD進行安裝

pip install pyinstaller

開啟CMD將程式進行打包

#請先建立一個package資料夾,將PTT3.py存入此資料夾
#請將C:\Users\ASUS\Desktop修改為package資料夾在您電腦中的路徑
cd C:\Users\ASUS\Desktop\package  #移動至package資料夾
#請將C:\Users\ASUS\Desktop修改為package資料夾在您電腦中的路徑
pyinstaller -F C:\Users\ASUS\Desktop\package\PTT3.py

謝謝大家這些日子的陪伴~我們有機會再見!/images/emoticon/emoticon37.gif
本篇影片及程式碼僅提供研究使用,請勿大量惡意地爬取資料造成對方網頁的負擔呦!
如果在影片中有說得不太清楚或錯誤的地方,歡迎留言告訴我,謝謝您的指教。


上一篇
Day 29 Google Play評論爬取
系列文
文組生的Python爬蟲之旅30

1 則留言

0
juck30808
iT邦新手 2 級 ‧ 2021-10-14 11:51:02

恭喜完賽/images/emoticon/emoticon12.gif

水母君 iT邦新手 5 級 ‧ 2021-10-14 12:58:52 檢舉

謝謝你~/images/emoticon/emoticon41.gif

我要留言

立即登入留言